收藏官网首页
查看: 23241|回复: 0

[求助] 机智云串口中断的环形缓冲区读写会不会有可重入的问题?

1

主题

1

帖子

24

积分

新手上路

Rank: 1

积分
24
跳转到指定楼层
楼主
发表于 2019-4-6 12:37:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
刚接触STM32机智云不久,有个疑问请教:
串口中断回调中调用了gizPutData;
void HAL_UART_RxCpltCallback(UART_HandleTypeDef*UartHandle)  
{  
    if(UartHandle->Instance == USART2)  
    {  
    gizPutData((uint8_t *)&aRxBuffer, 1);
        HAL_UART_Receive_IT(&huart2, (uint8_t *)&aRxBuffer, 1);//开启下一次接收中断  
    }  
}  

gizPutData会调用rbWrite(&pRb, buf, len);

在main中调用rbRead(&pRb, buf, len)时没看到关中断的操作,
这个中断回调中的rbWrite对pRb->rbTail的改写造成脏数据? 谢谢!






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

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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