打印
[STM32L0]

写eeprom会影响到pwm的输出

[复制链接]
664|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pangb|  楼主 | 2019-6-15 14:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近做pwm调光的项目,发现写eeprom的时候等轻微的抖动了一下,屏蔽掉写eeprom工作就正常了,感觉像是芯片的问题,写eeprom的时候单片机cpu停掉了,导致pwm输出抖动,不知道有什么方法解决?

使用特权

评论回复
沙发
chenjunt| | 2019-6-15 14:35 | 只看该作者
说是有办法解决的,不过没有你想象的那样简单
大概描述一下,
1 eeprom操作之前,把中断向量表和PWM服务程序都放在RAM
2 调整系统终端时跳转的位置(指向RAM)
3 操作eeprom
4 完成后恢复之前的状态

使用特权

评论回复
板凳
ousj| | 2019-6-15 14:38 | 只看该作者
不如上个几毛钱的24c0x...

使用特权

评论回复
地板
pangb|  楼主 | 2019-6-15 14:40 | 只看该作者
不是很明白你说的这种方法,没有做过这方便操作,希望有些资料,谢谢!

使用特权

评论回复
5
morrisk| | 2019-6-15 14:43 | 只看该作者
很少有你这样需求的,一般操作eeprom都是不能有干扰的。一旦有干扰(尤其是中断),就会崩溃

使用特权

评论回复
6
pangb|  楼主 | 2019-6-15 14:47 | 只看该作者
现在是由于写eeprom,影响到了pwm的输出,导致灯闪,这是最不能接受的,写eeprom时候一般会开关总中断,不至于让写eeprom崩掉。

使用特权

评论回复
7
xxmmi| | 2019-6-15 14:50 | 只看该作者

因为你要关中断,所以PWM会受影响

使用特权

评论回复
8
kangzj| | 2019-6-15 15:02 | 只看该作者

在主函数里通过IO操作应该可以避免吧。

使用特权

评论回复
9
pangb|  楼主 | 2019-6-15 15:06 | 只看该作者
通过io?能说的详细点?

使用特权

评论回复
10
kangzj| | 2019-6-15 15:11 | 只看该作者

pwm要使用定时器产生的硬件输出,不要软件模拟产生。常识。

使用特权

评论回复
11
gongche| | 2019-6-15 15:14 | 只看该作者
根据你的描述,PWM使用软件实现的吗?

使用特权

评论回复
12
huanghuac| | 2019-6-15 15:20 | 只看该作者
建议用定时器硬件输出实现,就不存在收到干扰的情况

使用特权

评论回复
13
pangb|  楼主 | 2019-6-15 15:24 | 只看该作者

哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝