USART的使用

USART1_Init(115200); //串口初始化(参数是波特率)

/* 发送方法1 */

	USART_SendData(USART1 , 0x55); //发送单个数值
	while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET); //检查发送中断标志位

/* 发送方法2 */

printf("STM32 %d %d ",a,b); //纯字符串和变量发送数据到串口,a符号变量

/* 发送方法3 */

 USART1_printf("STM32 %d %d ",a,b);//自己写了一个函数,用到多个串口可用

接受方法1 不使能串口中断

 USART1_Init(115200); //串口初始化(参数是波特率)
 while(1){
	//查询方式接收
	if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE) != RESET){  //查询串口待处理标志位
		a =USART_ReceiveData(USART1);//读取接收到的数据
		printf("%c",a); //把收到的数据发送回电脑		  
	}
}     

方法2 usart.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); //把收到的数据发送回电脑		  
} 
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值