STM32L0xx_HAL_Driver库的使用——UART续

在使用STM32L051C8T6和STM32L0xx_HAL_Driver V1.1.0进行串口通信时,遇到双缓冲机制导致的串口卡死问题。错误码0x08指示ORE错误,尝试解决但未成功。STM32L0xx HAL库的中断处理方式不如StdPeriph_Lib库灵活,可能需要修改底层库函数来优化。
摘要由CSDN通过智能技术生成

单片机型号:STM32L051C8T6

开发环境MDK5.12

库版本:STM32L0xx_HAL_Driver V1.1.0

主机环境:Windows XP

承接上文,为采用双缓冲机制,重新开辟一个500字节的空间aTxBuffer来存放所需发送的字节,初始化uart_snd的指针

	uart_snd.front = aTxBuffer;
	uart_snd.rear = aTxBuffer;	//两个指针指向相同的地址空间

编辑发送单字节的函数uart_char

/**********************************************************************
函数:uart_char()
函数作用:发送一个字节数据
参数:
	uint8_t *fmt--------------------------------需要发送的数据
返回值:
上一版本:无
当前版本:1.0
作者:
最后修改时间:2015-04-08
说明: 
**********************************************************************/

void uart_char(uint8_t fmt)
{
	uint8_t ret = HAL_OK;
	if(uart_snd.rear 
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值