STM32G431RBT6---模板整理笔记之USART

 

 

 

 

在bsp文件夹下新建两个usart两个文件,然后再和前面一样的操作添加文件、添加头文件

几个小细节

① msp.c中有需要改的东西

②底层要添加uart的库文件:

③打开uart的宏定义,才能使得bsp_usart.c中的代码不出错

 bsp_usart.c文件的代码书写,去掉复制过来的3个函数中的最后一个函数。复制到bsp_usart.c中

串口中断函数

测试小程序:向串口发送数据能在屏幕上显示出来

 

void Usart_Proc(void )
{
	if((uwTick-uwTick_Usart_Set_Point)<200) return ;
	uwTick_Key_Set_Point = uwTick;
	
	sprintf(str,"%04d:Hello,world.\r\n",counter);
	HAL_UART_Transmit (&huart1 ,(unsigned char *)str,strlen(str),80);
	
	if(++counter == 100)
		counter = 0;
}

注意:代码中用到的变量要定义一下

串口接收中断

 

HAL_UART_Receive_IT(&huart1 ,&rx_buffer,1);//串口接收中断函数

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
	LED_Disp(0x77);
	HAL_Delay (500);
	LED_Disp(0x00);
	
	HAL_UART_Receive_IT(&huart1 ,&rx_buffer,1);//设置连续中断产生
}

 注意:串口中断回调函数中用到了延时函数(滴答定时器),因此一般要把滴答定时器的优先级设置最高,以后msp文件中不用再添加函数了

接着编译,下载程序,当在串口中发送数据的时候,灯就会亮,然后就灭了(回调函数的功能就是这样的),但是下载一次,发送数据只能亮一次,再让他亮只能再下载一次程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值