娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

1.PWM簡介


脈沖寬度調制(PWM)是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。簡單來說,就是對脈沖寬度的控制,原理圖如下:

當CNT

這里我們使用STM32F4的TIM14的CH1產生一路PWM輸出。


值得一提的是控制PWM的三個寄存器:捕獲/比較模式寄存器(TIMx_CCMR1/2),捕獲/比較使能寄存器(TIMx_CCER),捕獲/比較寄存器(TIMx_CCR1~4)。這三個寄存器針對不同的定時器不同的輸出模式設置各不相同,具體可參見STM32中文參考手冊16節


使用PWM與使用定時器的功能實際上使類似的。

1)開啟TIM14和GPIO時鐘,配置PF9選擇復用功能AF9(TIM14)輸出。


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM14,ENABLE); //TIM14 時鐘使能 

GPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14); //GPIOF9 復用為定時器 14 

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //復用功能 


2)初始化TIM14,設置TIM14的ARR和PSC等參數。

TIM_TimeBaseStructure.TIM_Period = arr; //設置自動重裝載值

TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置預分頻值

TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設置時鐘分割:TDTS = Tck_tim 

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上計數模式

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據指定的參數初始化 TIMx 的 


3)設置TIM14_CH1的PWM模式,使能TIM14的CH1輸出。

在庫函數中,PWM通道的設置是通過函數TIM_OC1Init()~TIM_OC4Init()來設置的,不同的通道設置不一樣,這里我們使用的是通道1,所以使用的函數是TIM_OC1Init()。


TIM_OCInitTypeDef TIM_OCInitStructure;

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //選擇模式 PWM

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //輸出極性低

TIM_OC1Init(TIM14, &TIM_OCInitStructure); //根據 T指定的參數初始化外設 TIM1 4OC1 


4)使能TIM14.

TIM_Cmd(TIM14, ENABLE); //使能 TIM14 


5)修改TIM14_CCR1來控制占空比。

void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare2); 


2.呼吸燈設計

int main(void)

{

u16 led0pwmval=0;

u8 dir=1;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組 2

delay_init(168); //初始化延時函數

uart_init(115200);//初始化串口波特率為 115200

TIM14_PWM_Init(500-1,84-1); //定時器時鐘為 84M,分頻系數為 84,所以計數頻率

//為 84M/84=1Mhz,重裝載值 500,所以 PWM 頻率為 1M/500=2Khz.

while(1)

{

delay_ms(10);

if(dir)led0pwmval++;//dir==1 led0pwmval 遞增

else led0pwmval--; //dir==0 led0pwmval 遞減

if(led0pwmval>300)dir=0;//led0pwmval 到達 300 后,方向為遞減

if(led0pwmval==0)dir=1; //led0pwmval 遞減到 0 后,方向改為遞增

TIM_SetCompare1(TIM14,led0pwmval); //修改比較值,修改占空比

}

}


通過程序我們可以看到,我們通過修改led0pwmval的值來改變占空比,來實現呼吸燈。當占空比高的時候,LED燈點亮的時間長,顯得就亮,反之則暗,利用依次遞增遞減就可以實現呼吸的效果。

關鍵字:STM32  PWM  呼吸燈實驗 引用地址:STM32 PWM簡介及呼吸燈實驗

上一篇:STM8S003F3 使用TIM1_CH1與TIM1_CH2配置PWM輸出
下一篇:關于Stm8庫函數使用需要格外注意的地方

推薦閱讀

據報道,5G起航沖鋒第一梯隊已經組成。主要領導人還是高通,據悉,高通牢牢抓住了智能手機大發展的機遇,依靠移動端的5G蓄勢,攜中國廠商OPPO、vivo、小米、聯想等發布“5G領航計劃”,趕超三星、蘋果也不再是一句口號。雖然臨近中國傳統新年,但作為5G上最為活躍的科技廠商,高通卻毫不懈怠。在近日的一場技術峰會上,高通請來了中國手機廠商中的“半壁江...
英國倫敦的蓋特威克機場日前宣布將于今年8月開始在機場測試一款停車機器人。旅客們只需要掃描自己的航班信息,把車停到指定位置,機器人就會來帶走汽車,前往機器人停車場,通過人工智能系統尋找車位,完成停車任務。研發人員表示,采用AGV機器人停車,可以通過更科學的停放方式節省近50%的停車場空間。由于機器人無需進入車內,鑰匙還是由旅客自己保管,...
關于中斷標志:從SPI發送一字節數據:void SPI_Set_SD_Byte(unsigned char txData){UCB0TXBUF = txData; // 寫入發送緩沖區 while ((UCB0IFG & UCTXIFG) == 0); // 等待發送完畢}分析:以9600bps 發送一字節 1ms估算,而以12MHz時鐘執行(UCB0TXBUF = txData;)需要時間大概1us,因此可怕的事情發生了,要等待發送完畢需要...
2月5日,中芯國際在2020年第四季度電話會上表示,早已預見過汽車芯片短缺問題,影響不是特別大,不會改變我們的供貨體系。有的廠家增加了汽車產品的供應,導致了有其他客戶來找我們做民用產品,許多產能會在接下來陸續實現。對于產品漲價,中芯國際稱,市場行情已經變了,漲價這件事是經過和客戶商量過的,但是我們遵守契約精神,確定下來的不會變。關于...

史海拾趣

問答坊 | AI 解惑

職場沒有永遠的朋友和敵人

職場,亦如江湖。 猶記得當年涉世之初,對待每接觸的一個人每一件事物的態度仍像課 常上聽 老師的課,把一切看似自己學習的對象,謙恭有禮不夠勢必要做到唯唯諾諾才算是后輩新手應有的本分。 幾年過去,當年別人眼中的新人也成了別人眼中的前輩, ...…

查看全部問答∨

Protel資料總結

protel學習資料,希望對大家有幫助……

查看全部問答∨

溫度采集系統源碼大分享(上下位機軟件+電路+exe文件)

單片機溫度采集+VB溫度顯示       本溫度采集系統是利用DS18B20把溫度讀出,然后通過單片機解碼發送給6位數碼管,數碼管顯示出當前的溫度值。DS18B20返回的溫度值是兩字節的十六進制數據。負數用反碼表示。單片機直接通過串口 ...…

查看全部問答∨

求高手幫忙看下程序哪里有問題?基于arm3000

此為俄羅斯方塊,運行無錯誤 但是文本輸出沒有顯示,方塊在落下后,立即消失,無法呈現俄羅斯方塊應有的游戲效果 …

查看全部問答∨

串口接收不定長字符處理問題

單片機接收不定的長度.我想PC機到一次就當一次轉行.不管長度多少.或者我發送一次協議. 也當一次命令.…

查看全部問答∨

單片機硬件題目

最近遇到一個單片機硬件題目,一時比較棘手請高手指點一二   題目是:        用8253芯片編一個報警燈程序,使LED發光管以1秒的時間間隔周期性地閃爍。 謝謝了!…

查看全部問答∨

問ioctl各個參數怎么對應的?

模塊的ioctl段的定義函數是: int camif_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) {         camif_cfg_t *cfg = file->private_data;         struct ...…

查看全部問答∨

wince PB安裝問題

wincepb50-051231-product-update-rollup-armv4i wincepb50-061231-product-update-rollup-armv4i wincepb50-071231-product-update-rollup-armv4i 這3個補丁依次包含嗎? 是不是打07的以后就不用打上面2個了…

查看全部問答∨

wince+S3C2440功耗問題

用核心板做一款機器,最后做電源管理才發現PWREN給懸空了,且VDDi,VDDiarm和VDDalive一起供電,休眠省電基本不用想了,現在我想僅靠降低CLOCK時鐘降低功耗,比如進入SLOW模式,能將2440電流降低到多少?哪位試驗過? 另外在wince系統運行時候轉換n ...…

查看全部問答∨

請教一個VHDL問題!

請問一下有沒有正在使用VHDL語言的嗎?我想請教一下問題,用VHDL編寫一個程序后,再運行,會生成一個項目符號 , 在圖形輸入文件中如何才能調用它啊? 有誰知道的給指點一下,謝謝!!…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 革吉县| 哈尔滨市| 泾阳县| 廊坊市| 从化市| 文成县| 平昌县| 景东| 贵定县| 万全县| 溧阳市| 衡山县| 小金县| 寻甸| 南京市| 萍乡市| 沙洋县| 仁怀市| 岚皋县| 疏勒县| 南京市| 红桥区| 津南区| 红河县| 子洲县| 江达县| 万山特区| 师宗县| 涪陵区| 诏安县| 崇仁县| 安泽县| 抚远县| 枣强县| 剑川县| 靖安县| 武强县| 小金县| 长汀县| 民乐县| 盐边县|