由於STM32F103寄存器非常複雜,導致在不藉助外部鎖存器或RAM的情況下無法進行一次賦值.
情況1:同組IO端口可以通過操作ODR寄存器實現一次賦值,這裡不做說明
情況2:不同組IO賦值;
這裡必須通過外接鎖存器賦值,通過鎖存器后一次賦值給後端電路.當然通過并口RAM也OK.
這裡主要展示逐個對IO賦值.,代碼可移植性強.
功能:快速初始化IO;
按鍵功能,并添加消抖處理;
窗口看門狗功能;
LCD1602初始化功能,顯示函數功能
串口發送內容,LCD1602顯示發送內容
单片机源程序如下:
- #include "main.h"
- int main(void) {
- Key_Init();
- Led_Init();
- Timer_Init();
- //IWDG_Init(4, 6250); //10s Tout=((4*2^prer) /rlr) /40
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- Usart_Init(115200);
- //Wwdg_Init(WWDG_Prescaler_8, 0x5F);
- InitLcd1602(); //初始化液晶
- LED0_OFF;
- LED1_OFF;
- /* Infinite loop */
- while (1)
- {
- IWDG_Feed();
- Key_Driver();
- Usart_Send();
- //LcdShowStr(1, 0, USART_RX_BUF);
- }
- }
复制代码
所有资料51hei提供下载:
Template - 1602LCD.7z
(182.41 KB, 下载次数: 14)
|