欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

stm32串口通信usart1收发代码百度网盘链接

程序员文章站 2024-02-22 11:54:52
...

stm32串口usart1收发代码

百度网盘链接:
https://pan.baidu.com/s/13xRp2PGpkKWWJRcfKHGIYw
提取码:xyd9

IC:stm32f103vet6
串口引脚:PA9(TX),PA10(RX)

代码是在工程模板的基础上移植修改了正点原子的串口代码

mian.c

#include "sys.h"
#include "delay.h"
#include "usart.h"

uint8_t t;
uint8_t len;
uint16_t times=0;
	
int main(void)
{	
	delay_init();     //延时函数初始化	  
	uart_init(115200);	 //串口初始化为115200
	
	while(1)
	{
		if(USART_RX_STA&0x8000)  //USART_RX_STA第十六位为1则括号内为1,表示接收完数据
		{					   
			len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
			printf("\r\n您发送的消息为:\r\n\r\n");
			for(t=0;t<len;t++)
			{
				USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
			}
			printf("\r\n\r\n");//插入换行
			USART_RX_STA=0;
		}else
		{
			times++;
			if(times%500==0)printf("请输入数据,以回车键结束\n");  
			delay_ms(10);   
		}
	}	 
}

串口现象:
未发送时
stm32串口通信usart1收发代码百度网盘链接
发送信息时:
stm32串口通信usart1收发代码百度网盘链接

相关标签: stm32f103vet6