參考:
gpio_inittypedef gpio_initstructure;
24 usart_inittypedef usart_initstructure;
25 nvic_inittypedef nvic_initstructure;
初始化gpio
30 gpio_initstructure.gpio_pin = gpio_pin_9;
31 gpio_initstructure.gpio_speed = gpio_speed_50mhz;
32 gpio_initstructure.gpio_mode = gpio_mode_af_pp; //復用推挽輸出
33 gpio_init(gpioa, &gpio_initstructure);//初始化gpioa.9
3435 //usart1_rx gpioa.10初始化
36 gpio_initstructure.gpio_pin = gpio_pin_10;//pa10
37 gpio_initstructure.gpio_mode = gpio_mode_in_floating;//浮空輸入
38 gpio_init(gpioa, &gpio_initstructure);//初始化gpioa.10
usart1 nvic 配置
41 nvic_prioritygroupconfig(nvic_prioritygroup_2); //設定nvic中斷分組2:2位搶占優先順序,2位響應優先順序 0-3;
4243 nvic_initstructure.nvic_irqchannel = usart1_irqn;
44 nvic_initstructure.nvic_irqchannelpreemptionpriority=3 ;//搶占優先順序3
45 nvic_initstructure.nvic_irqchannelsubpriority = 3; //子優先順序3
46 nvic_initstructure.nvic_irqchannelcmd = enable; //irq通道使能
47 nvic_init(&nvic_initstructure); //根據指定的引數初始化vic暫存器
48usart 初始化設定
5051 usart_initstructure.usart_baudrate = 115200;//串列埠波特率
52 usart_initstructure.usart_wordlength = usart_wordlength_8b;//字長為8位資料格式
53 usart_initstructure.usart_stopbits = usart_stopbits_1;//乙個停止位
54 usart_initstructure.usart_parity = usart_parity_no;//無奇偶校驗位
55 usart_initstructure.usart_hardwareflowcontrol = usart_hardwareflowcontrol_none;//無硬體資料流控制
56 usart_initstructure.usart_mode = usart_mode_rx | usart_mode_tx; //收發模式
5758 usart_init(usart1, &usart_initstructure); //初始化串列埠1
59 usart_itconfig(usart1, usart_it_rxne, enable);//開啟串列埠接受中斷
60 usart_cmd(usart1, enable); //使能串列埠1
// 傳送乙個位元組
void usart_sendbyte(usart_typedef * pusartx, uint8_t ch)
}void usart_sendstring(usart_typedef * pusartx, char *data)
}// 實現fputc
int fputc(int ch, file *f)
// 禁止半主機模式,沒有勾選microlib
#pragma import(__use_no_semihosting)
struct __file
;file __stdout;
void _sys_exit(int x)
{
STM32 串列埠USART1 的使用
編寫程式的步驟 1.初始化串列埠要用的gpio 2.初始化結構體usart inittypedef 3.中斷配置 nvic inittypedef 4.使能串列埠中斷 5.編寫發生和接收函式 6.中斷函式 void usart senddata usart typedef usartx,uint16...
STM32 串列埠USART 通訊
通過stm32向串列埠傳送資料顯示在串列埠終端上 我用的是串列埠除錯工具 並且在除錯工具上傳送認識字元,然後在終端上顯示出來,就是這樣了,分別驗證了usart1和usart2,雖說只是乙個1和2,但是初始化時鐘的時候,並不一樣的,我們先來看卡下圖中 各個模組,io口時鐘分布 在系統初始化各個模組前,...
STM32 串列埠通訊USART(學習筆記)
tx rx f pclk x 16 usa rtdi v tx rx fpclkx 16 usartdiv tx rx fpcl kx 16 u sart div f pc lkxfpclkx fpclkx 是給串列埠的時鐘 其中usart2,3,4,5 用pclk1,usart1 用pclk2 通...