標題:
STM32F429系列單片機串口通訊源碼
[打印本頁]
作者:
nobody123
時間:
2018-5-3 14:45
標題:
STM32F429系列單片機串口通訊源碼
stm32f系列單片機串口通訊實驗程序源碼
實驗器材:
阿波羅STM32F429開發(fā)板
實驗目的:
學習串口的使用(接收與發(fā)送)
硬件資源:
1,DS0(連接在PB1)
2,串口1(波特率:115200,PA9/PA10連接在板載USB轉串口芯片CH340上面)
實驗現(xiàn)象:
本實驗,STM32通過串口1和上位機對話,STM32在收到上位機發(fā)過來的字符串(以回車換
行結束)后,原原本本的返回給上位機。下載后,DS0閃爍,提示程序在運行,同時每隔
一定時間,通過串口1輸出一段信息到電腦。
注意事項:
1,電腦端串口調試助手波特率必須是115200.
2,請使用XCOM/SSCOM串口調試助手,其他串口助手可能控制DTR/RTS導致MCU復位/程序不運行
3,串口輸入字符串以回車換行結束.
4,請用USB線連接在USB_232,找到USB轉串口后測試本例程.
5,P4的PA9/PA10必須通過跳線帽連接在RXD/TXD上.
單片機源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "key.h"
int main(void)
{
u8 len;
u16 times=0;
HAL_Init(); //初始化HAL庫
Stm32_Clock_Init(360,25,2,8); //設置時鐘,180Mhz
delay_init(180); //初始化延時函數(shù)
uart_init(115200); //初始化USART
LED_Init(); //初始化LED
KEY_Init(); //初始化按鍵
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
printf("\r\n您發(fā)送的消息為:\r\n");
HAL_UART_Transmit(&UART1_Handler,(uint8_t*)USART_RX_BUF,len,1000); //發(fā)送接收到的數(shù)據(jù)
while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET); //等待發(fā)送結束
printf("\r\n\r\n");//插入換行
USART_RX_STA=0;
}else
{
times++;
if(times%5000==0)
{
printf("\r\nALIENTEK 阿波羅STM32F429開發(fā)板 串口實驗\r\n");
printf("正點原子@ALIENTEK\r\n\r\n\r\n");
}
if(times%200==0)printf("請輸入數(shù)據(jù),以回車鍵結束\r\n");
if(times%30==0)LED0=!LED0;//閃爍LED,提示系統(tǒng)正在運行.
delay_ms(10);
}
}
}
復制代碼
所有資料51hei提供下載:
串口通信實驗.rar
(977.34 KB, 下載次數(shù): 39)
2018-5-4 01:03 上傳
點擊文件名下載附件
stm32f串口通訊
下載積分: 黑幣 -5
作者:
_風云無忌_
時間:
2018-7-20 15:23
工程打不開
作者:
nt8848
時間:
2019-9-25 10:27
下載看下,不好使割你小JJ。
作者:
471097604
時間:
2019-9-26 21:16
有沒有h750的原理圖
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1