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

STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序

程序员文章站 2024-02-22 12:07:28
...

USART驱动程序
DYS串口助手 V1
usrat.h
PA9、PA10对应的USART1
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序

#define EN_USART1 			1		//使能(1)/禁止(0)串口1
#define EN_USART2 			0		//使能(1)/禁止(0)串口2
#define EN_USART3 			0		//使能(1)/禁止(0)串口3

STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
USART接收程序
单片机接收数据有中断和查询两种方式
查询方式
关闭串口中断
usart.c

    USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);//开启ENABLE/关闭DISABLE中断

STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
中断方式实时性好
打开串口中断
《STM32固件库使用手册》
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
usat.c

void USART1_IRQHandler(void){ //串口1中断服务程序(固定的函数名不能修改)	
	u8 a;
	if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET){  //接收中断(接收到的数据必须是0x0d 0x0a结尾)		
		a =USART_ReceiveData(USART1);//读取接收到的数据
		printf("%c",a); //把收到的数据发送回电脑		  
	} 
} 

USART控制程序
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序

超级终端USART控制STM32开发板
配置方法
超级终端下载连接
打开文件—>新建连接,连接类型选平时择编译的端口,我这里是COM4
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
关闭连接 :点击右键然后关闭
STM32入门100步(第33步、第34步、第35步、第36步)USART驱动程序、USART发送程序、USART接收程序、USART控制程序
全局变量
usat.c

u16 USART1_RX_STA=0;       //接收状态标记,

usart.h

extern u16 USART1_RX_STA;         		//接收状态标记,声名
相关标签: stm32 单片机