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

stm32cube中的HAL库用UART时的问题  

[复制链接]
lzy888 提问时间:2014-9-11 14:02 /
阅读主题, 点击返回1楼
收藏 2 评论58 发布时间:2014-9-11 14:02
58个回答
党国特派员 回答时间:2015-4-23 07:33:26
给你这个建议,我们可以灵活变通,HAL_UART显然是接收固定字节,那我们可以在发送的时候对数据进行对齐啊。
魏科 回答时间:2015-4-23 09:25:36
党国特派员 发表于 2015-4-23 07:29
很明显楼主是在不带操作系统的情况使用串口。

不好意思,我比较笨,没有明显看出来楼主是否带操作系统,其实带不带操作系统又有什么区别呢!
popo_0214 回答时间:2015-5-7 11:15:31
魏科 发表于 2015-4-23 09:25
不好意思,我比较笨,没有明显看出来楼主是否带操作系统,其实带不带操作系统又有什么区别呢! ...

osSemaphoreCreate()函数没找到 不带操作系统是不是没用这个函数啊?

劳动节才开始认识stm32
为什么是EEFOCUS小白 回答时间:2015-5-7 11:32:20
HAL库和3.5库有什么区别呢
BG4RFF 回答时间:2015-5-16 15:20:29
其实4楼的办法是很好用的,我也在串口助手上实现了,但是回显不能在接收中断中用中断方式发送,直接用阻塞方式发送了也行的
stary666 回答时间:2015-5-16 15:36:21
基本不用库,最多也是参考
moyanming2013 回答时间:2015-5-16 17:38:02
damiaa 发表于 2015-1-6 16:00
一般不知道个数的都是接收到一个产生中断,然后在中断中放进你的缓存。在主程序中你想怎么整就怎么整。这就 ...

串口一般都有FIFO缓冲,打开这个缓冲,然后减少中断次数,一次可以接受8个或者16个字节,而不是1个字节,效率提升至少8倍或16倍。
接受完数据后再根据自己的实际情况进行数据分析处理。
moyanming2013 回答时间:2015-5-16 17:39:23
魏科 发表于 2015-4-22 10:19
大家好,这是我在这个社区第一次发言,我开始也遇到这个问题,后来在百度和google都没有查到好的解决办法, ...

你这个是不错,为什么非得添加一个:
/*让串口信号量耗尽*/
          while(osOK != osSemaphoreWait(uc1sem_id,0));
直接设置这个信号量可用就行了。
szgaos 回答时间:2015-6-23 11:42:03
发送,接收都有个timeout,设置个timeout,在超时时就没什么问题,这个在freertos中就比较实用,可能HAL主要针对带实时系统的程序吧,
jiaswang 回答时间:2015-6-23 12:06:19
的确如此

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版