標題:
stm32f103c8t6多串口例程源程序
[打印本頁]
作者:
wyqf
時間:
2021-2-14 19:49
標題:
stm32f103c8t6多串口例程源程序
在正點原子的串口例程上修改的配置了c8t6的全部串口(3個),并把串口數(shù)據(jù)從接收端發(fā)送出去
僅作為一個例程庫使用
單片機源程序如下:
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
//ALIENTEK Mini STM32開發(fā)板范例代碼3
//串口實驗
int main(void)
{
u8 t;
u8 len;
Stm32_Clock_Init(9); //系統(tǒng)時鐘設置
delay_init(72); //延時初始化
uart1_init(72,9600); //串口初始化為9600
uart2_init(72,9600); //串口初始化為9600
uart3_init(72,9600); //串口初始化為9600
LED_Init(); //初始化與LED連接的硬件接口
while(1)
{
if(USART1_RX_STA&0x8000)
{
len=USART1_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
printf("\r\n您發(fā)送的消息為:\r\n");
for(t=0;t<len;t++)
{
USART1->DR=USART1_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待發(fā)送結束
}
printf("\r\n\r\n");//插入換行
USART1_RX_STA=0;
}
if(USART2_RX_STA&0x8000)
{
len=USART2_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
printf("\r\n您發(fā)送的消息為:\r\n");
for(t=0;t<len;t++)
{
USART2->DR=USART2_RX_BUF[t];
while((USART2->SR&0X40)==0);//等待發(fā)送結束
}
printf("\r\n\r\n");//插入換行
USART2_RX_STA=0;
}
if(USART3_RX_STA&0x8000)
{
len=USART3_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
printf("\r\n您發(fā)送的消息為:\r\n");
for(t=0;t<len;t++)
{
USART3->DR=USART3_RX_BUF[t];
while((USART3->SR&0X40)==0);//等待發(fā)送結束
}
printf("\r\n\r\n");//插入換行
USART3_RX_STA=0;
}
}
}
復制代碼
所有程序51hei提供下載:
c8t6多串口(成功)把接收到的數(shù)據(jù)發(fā)送出來.7z
(83.89 KB, 下載次數(shù): 270)
2021-2-15 02:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
mouse_ox
時間:
2021-2-15 12:06
多串口例程學習一下!
作者:
YEON丶丶
時間:
2021-3-27 14:42
ganxiefenxiang
作者:
bd4sl
時間:
2021-4-15 22:42
真好需要這方面資料學習
作者:
美琴的備胎
時間:
2021-4-20 20:40
這個不行的 下載到c8t6一個都運行不了
作者:
wyqf
時間:
2021-5-16 20:26
美琴的備胎 發(fā)表于 2021-4-20 20:40
這個不行的 下載到c8t6一個都運行不了
是不是波特率設置錯誤,我自己實測可用
作者:
banzhiyang
時間:
2023-10-6 10:20
剛好要學習到,好東西,感謝分享。。!
作者:
wenhuaxiao
時間:
2024-6-10 10:03
正要用到3個串口,謝謝了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1