把定義#define放到標頭檔案中可方便移植。
要注意寫出的**的運算效率。比如if((gpioa->idr&0x0400)==0x0400) gpioa->odr=0x04|gpioa->odr;
else gpioa->odr=(~0x00)&gpioa->odr;
其中語句gpioa->odr=0x04|gpioa->odr要經過讀出、或運算、寫入操作,而其完全可以pa1=0x04
取代,其完整語句為:
if((gpioa->idr&0x0800)==0x0400) pa1=0x04;
else pa0=0x04; (#define pa0 gpioa->brr
#define pa1 gpioa->bsrr)
只需要一步寫入操作即可。
STM32教程系列之FLASH
原檔名 option.jpg 引用 rdp 讀出保護選擇位元組 讀出保護功能幫助使用者保護存在快閃儲存器中的軟體。該功能由設定資訊塊中的乙個選擇位元組啟用。寫入正確的數值 rdprt鍵 0x00a5 到這個選擇位元組後,快閃儲存器被開放允許讀出訪問。user 使用者選擇位元組 這個位元組用於配置下列...
STM32輸出PWM波教程
pwm輸出配置步驟 舉例 使能定時器3和相關io口時鐘。使能定時器3時鐘 rcc apb1periphclockcmd 使能gpiob時鐘 rcc apb2periphclockcmd 初始化io口為復用功能輸出。函式 gpio init gpio initstructure.gpio mode g...
STM32 學習日誌 第4天
學習了4天的stm32,用的是野火的板子,資料是野火的零死角玩轉系列,做點學習小總結,講講後面學習新外設的思路 1 st庫的使用流程 配置時鐘 初始化結構體賦值 初始化。在操作乙個不熟悉的外設時,需要多看官方幫助檔案和參考手冊,但最重要最有效的手段應該是在網路上搜尋該如何使用該外設,工作原理,工作模...