找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1560|回复: 1
收起左侧

如何把这个STM32程序改成HAL库可用的

[复制链接]
ID:438003 发表于 2021-3-1 19:24 | 显示全部楼层 |阅读模式
u16 USART2_RX_STA=0;           


void USART2_IRQHandler(void)
{
        u8 res;              
        if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)//接收到数据
        {         
                res =USART_ReceiveData(USART2);                 
                if((USART2_RX_STA&(1<<15))==0)//接收完的一批数据,还没有被处理,则不再接收其他数据
                {
                        if(USART2_RX_STA<USART2_MAX_RECV_LEN)        //还可以接收数据
                        {
                                TIM_SetCounter(TIM4,0);//计数器清空                                          //计数器清空
                                if(USART2_RX_STA==0)                                 //使能定时器4的中断
                                {
                                        TIM_Cmd(TIM4,ENABLE);//使能定时器4
                                }
                                USART2_RX_BUF[USART2_RX_STA++]=res;        //记录接收到的值         
                        }else
                        {
                                USART2_RX_STA|=1<<15;                                //强制标记接收完成
                        }
                }
        }                                                                                                                           
}   

Snipaste_2021-03-01_19-22-47.png
回复

使用道具 举报

ID:319585 发表于 2021-3-2 19:57 来自手机 | 显示全部楼层
HAL库写串口通信比较麻烦的,每收到一个数据中断一次。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表