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

大神们救命,STM8L051 active-halt RTC唤醒后串口发数据出错

[复制链接]
darren0540 提问时间:2016-10-17 20:49 /
大神们救命啊,STM8L051低功耗模式 active-halt,用 RTC唤醒后,在RTC中断中用串口发一个字节的数据,但是收到的为啥总是0xFF。就是说我程序发的数据是0x19,但是收到的却是0xFF
IAR工程在附件中
1.JPG
2.JPG
3.JPG

9.Active-HALT低功耗 - 副本 (2).zip

下载

8.28 MB, 下载次数: 876, 下载积分: ST金币 -1

收藏 1 评论11 发布时间:2016-10-17 20:49

举报

11个回答
z258121131 回答时间:2016-10-19 09:05:43
波特率对吗?
lulugl 回答时间:2016-10-19 09:16:42
楼主,你查下手册,看唤醒后多条能稳定,能不能延时点,再发送数据
johnson_gong 回答时间:2016-10-19 12:00:55
建议把串口配置部分不要放在中断中
五哥1 回答时间:2016-10-19 12:18:03
串口串口串口
wenyangzeng 回答时间:2016-10-19 13:06:06
你每次中断都初始化串口一次,那当对方有数据传送而本机还在初始化串口,如何保证通讯数据不出错?
anywill 回答时间:2016-10-19 14:01:10
估计是串口设置问题
无薪税绵 回答时间:2016-10-19 15:30:41
串口初始化没有?
原田夜舞love 回答时间:2016-10-19 23:35:33
串口设置吧
fusheng123 回答时间:2018-7-19 11:34:45
这个我今天也遇到了,应该是串口还没有完全发送完系统进进入了ac-halt状态,我将最后发送数据之后加了一个很小的延时,然后在进入ac-halt状态,就不会出错了
fusheng123 回答时间:2018-7-19 12:46:02
fusheng123 发表于 2018-7-19 11:34
这个我今天也遇到了,应该是串口还没有完全发送完系统进进入了ac-halt状态,我将最后发送数据之后加了一个 ...

可以在进入低功耗之前加入这么一句,判断是否串口传输完成,然后在进入低功耗
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);//确保串口数据发送完在进入halt模式,不然串口数据会乱码
             halt();//进入低功耗
ccjup 回答时间:2020-9-3 12:02:02
停机前是不是  配置了发送脚  为输出,去掉试试
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版