雙通道輸出PWM波

、、、、

這道題目我感覺(jué)不難,題目我就不貼鏈接了,如果以后空閑了在貼、、、、、、
對(duì)于這道題目,我感覺(jué)很不友好的是:

  1. PA2作為PWM波輸出引腳(上一次是輸入捕獲),然后竟然要求要串口來(lái)修改,但是串口1有沒(méi)辦法直接使用,應(yīng)該說(shuō)這板子只能用串口2,當(dāng)然忽略杜邦線把PA10與PA9短接,直接用串口1
  2. 既然不能使用傳統(tǒng)方式輸出PWM波,那么就可以直接中斷拉高拉低就可以了,方式很多,況且實(shí)現(xiàn)了功能,誰(shuí)管你是怎么實(shí)現(xiàn)的呢,或許方法比較笨,但是在比賽的時(shí)候?qū)崿F(xiàn)功能就是好程序
    、、、、、

錯(cuò)誤

我來(lái)說(shuō)說(shuō)我的錯(cuò)誤,其實(shí)USART2的接收完全沒(méi)問(wèn)題,但是我犯了幾個(gè)錯(cuò)誤:

  1. 接收數(shù)據(jù)的數(shù)組沒(méi)有初始化個(gè)數(shù),應(yīng)該直接定義數(shù)組的大小,導(dǎo)致數(shù)組中有幾位一直錯(cuò)誤;
  2. 我使用的串口調(diào)試助手一直在發(fā)送新行(默認(rèn)勾選),然后數(shù)據(jù)一直錯(cuò)誤,難受,花費(fèi)的時(shí)間很多;如下圖:調(diào)試助手界面
調(diào)試助手界面

最后我調(diào)試發(fā)現(xiàn),在配置USART2時(shí)得使能時(shí)鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
但是只要加上這個(gè)時(shí)鐘使能PA2就不能輸出PWM波,有點(diǎn)不好弄

一些體會(huì)

這道題一開(kāi)始看到題目的時(shí)候,我有點(diǎn)不好分出狀態(tài)(應(yīng)該是我沒(méi)有分清楚狀態(tài)的緣故吧),好像都是在一個(gè)運(yùn)行狀態(tài)里面進(jìn)行多分支執(zhí)行;

  1. 寫程序時(shí)我盡量減少程序重復(fù)執(zhí)行的沒(méi)用地方,加上分時(shí)掃描的方式進(jìn)行寫程序,這樣可以節(jié)省很多CPU時(shí)間
  2. 由于題目中涉及到PWM波是:雙通道互不影響、頻率固定占空比可調(diào);這樣的要求,我們就可以想到使用PWM1或者PWM2模式來(lái)產(chǎn)生PWM波,因?yàn)檫@樣很容易實(shí)現(xiàn)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容