問題描述:利用stm32串列埠通訊,當pc端傳送字元8時,led pb.0閃亮
第一步:配置系統時鐘,這個不用多講,**就不貼出來了;
第二步:gpio埠配置:
設定 pa.9為復用推挽輸出,pa.10為浮空輸入,pb.0,pb.1,pb.2輸出並初始化pb.0亮
void gpio_config()
第三步:usart暫存器配置:
void usart_config()
第一行,設定波特率9600 第二行,使能usart,接受中斷開啟,傳送使能,接受使能;
第四步:nvic暫存器配置:
void nvic_configuration()
前幾行的**沒什麼變化,通過向量表找到相應的usart1的序號,然後根據序號寫上後兩行就行,nvic->iser中斷使能暫存器,nvic->ip中斷優先順序控制暫存器,最後一行不要也行。
接下來是led函式:直接上**
void led()
然後是main函式:一直讓它while下去吧!
int main()
}
最後是中斷服務函式:沒啥要注意的,直接上**(剛開始一直把函式名寫錯了,費了好大事)
unsigned char data1;
extern u8 temp;
void usart1_irqhandler(void)
STM32USART串列埠通訊
問題描述 利用usart串列埠程式,實現pc與stm32通訊,計算機傳送資料,stm32接受後,再傳送給pc端 1.gpio埠配置 根據手冊 pa.9為tx 傳送 pa.10為rx 接受 因此 pa.9為復用推挽輸出,pa.10為浮空輸入,一行 搞定 void gpio config 2.配置usa...
stm32 USART 串列埠通訊
簡單區分同步和非同步就是看通訊時需不需要對外提供時鐘輸出 usart 有專門控制傳送的傳送器 控制接收的接收器,還有喚醒單元 中斷控制等等。使用 usart 之前需要向 usart cr1 暫存器的 ue 位置 1 使能 usart,ue 位用來開啟供給給串列埠的時鐘。傳送或者接收資料字長可選 8 ...
STM32 03 USART(串列埠通訊)
usart初始化結構體 該結構體必須配置 1typedef struct usart inittypedef 以及 usart時鐘初始化結構體,一般usart用作非同步通訊,不需要配置 1typedef struct usart clockinittypedef 配置usart相關暫存器的過程 先初...