你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HAL+Freertos+USART疑惑?

[复制链接]
jyl_518 提问时间:2019-8-26 15:22 /
Freertos初学,请大神指点一二!

在mai()前,执行了如下开中断接收,并把接收到的数据保存在u4_rx_buf中
/* USER CODE BEGIN 2 */
        HAL_UART_Receive_IT(&huart4, u4_rx_buf, 1);//开接收中断
/* USER CODE END 2 */

这个u4_rx_buf,必须定议为全局变量吗?如定议为全局变量会存有有问题吗?
这个u4_rx_buf,能定议在某个任务中吗?

另外,在Freertos中,全局变量能随便定议使用吗,有没有什么说法或什么规则?

收藏 评论5 发布时间:2019-8-26 15:22

举报

5个回答
废鱼 回答时间:2019-8-27 13:30:36
HAL_UART_Receive_IT需要传入全局变量,这个是中断接收缓冲区用于存放的地址。如果是局部变量会导致指针错误,不能把正确的数据放入到接收缓冲区中。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

andey 回答时间:2019-8-27 13:21:23
提示: 作者被禁止或删除 内容自动屏蔽
慎微 回答时间:2019-8-27 14:08:43
个人认为,Freertos malloc的固定空间 也是可以作接收缓冲区中的,关建是管理好 接收 和Free关系:释放Free该空间意味着接收要关闭。
jyl_518 回答时间:2019-8-28 08:08:36
非常感谢各位,谢谢!
tanic 回答时间:2019-8-28 09:59:19
这么谦虚干嘛,只要没开MPU支持,全局变量随便用,没啥限制

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版