OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3763|回复: 4

低功耗串口做外部中断唤醒

[复制链接]

24

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2017-9-18
在线时间
40 小时
发表于 2018-10-8 10:12:02 | 显示全部楼层 |阅读模式
10金钱
STM32的MUC。正常工作时候PA10做RX引脚,当长时间不接受数据之后,进入低功耗。想通过PA10做外部中断来唤醒低功耗。以下是我的想法:

在进入低功耗前,先把PA10的串口配置DeInit,再配置成外部中断。
退出低功耗后,把外部中断disable,再重新配置串口。
红色部分是必要的步骤吗?可不可以不配置。

最佳答案

查看完整内容[请看2#楼]

是一个字节与一个字节的空间 也可以用一两个字节来唤醒, 之后要Delay10/波特率的时间, 才发数据, 否则你就会出错 我把原理告诉你, 你自己分析一下能不能用空闲来解决这问题吧 当CPU处于睡眠状态时, USART是关闭的, 改用IO唤醒, 那么是什么信号唤醒IO的呢? 是Start Bit吧, 唤醒CPU后你才去使能USART, 那么USART肯定是看不到Start Bit, 而且会把第一个字节的任何一位“0”当成是Start bit, 这可以理解吧, 如果字节 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-10-8 10:12:03 | 显示全部楼层
本帖最后由 edmund1234 于 2018-10-9 12:25 编辑
Rampage甄姬 发表于 2018-10-9 09:16
预留空间,是指一帧和一帧之间需要有足够的时间嘛?我如果用空闲中断来判断能不能解决这个问题,因为数据 ...

是一个字节与一个字节的空间
也可以用一两个字节来唤醒, 之后要Delay10/波特率的时间, 才发数据, 否则你就会出错
我把原理告诉你, 你自己分析一下能不能用空闲来解决这问题吧
当CPU处于睡眠状态时, USART是关闭的, 改用IO唤醒, 那么是什么信号唤醒IO的呢? 是Start Bit吧, 唤醒CPU后你才去使能USART, 那么USART肯定是看不到Start Bit, 而且会把第一个字节的任何一位“0”当成是Start bit, 这可以理解吧, 如果字节与字节之间没有足够的空间, 让USART在检测到错误后通知你重启USART,那么错误就会一直累加下去, 直到整帧数据完毕, 这个时候你说的空闲中断才会出现。

另一个方法就是先连续发几个0xFF,作用是唤醒CPU, 后再发数据
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-10-8 12:38:00 | 显示全部楼层
配置IO是小事
问题你要解决的是第一个字节会收错, 而且要协调发送方在字节与字节之间要留空间, 否则就一直都收错, 这才是要解决的大问题
回复

使用道具 举报

24

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2017-9-18
在线时间
40 小时
 楼主| 发表于 2018-10-9 09:16:33 | 显示全部楼层
edmund1234 发表于 2018-10-8 12:38
配置IO是小事
问题你要解决的是第一个字节会收错, 而且要协调发送方在字节与字节之间要留空间, 否则就一 ...

预留空间,是指一帧和一帧之间需要有足够的时间嘛?我如果用空闲中断来判断能不能解决这个问题,因为数据应该是1s一次的
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-10-15
在线时间
2 小时
发表于 2019-11-6 14:50:15 | 显示全部楼层
1111111111111111
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-28 00:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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