[STM32L0] 写eeprom会影响到pwm的输出

[复制链接]
932|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 | 显示全部楼层
不是很明白你说的这种方法,没有做过这方便操作,希望有些资料,谢谢!
morrisk 发表于 2019-6-15 14:43 | 显示全部楼层
很少有你这样需求的,一般操作eeprom都是不能有干扰的。一旦有干扰(尤其是中断),就会崩溃
 楼主| pangb 发表于 2019-6-15 14:47 | 显示全部楼层
现在是由于写eeprom,影响到了pwm的输出,导致灯闪,这是最不能接受的,写eeprom时候一般会开关总中断,不至于让写eeprom崩掉。
xxmmi 发表于 2019-6-15 14:50 | 显示全部楼层

因为你要关中断,所以PWM会受影响
kangzj 发表于 2019-6-15 15:02 | 显示全部楼层

在主函数里通过IO操作应该可以避免吧。
 楼主| pangb 发表于 2019-6-15 15:06 | 显示全部楼层
通过io?能说的详细点?
kangzj 发表于 2019-6-15 15:11 | 显示全部楼层

pwm要使用定时器产生的硬件输出,不要软件模拟产生。常识。
gongche 发表于 2019-6-15 15:14 | 显示全部楼层
根据你的描述,PWM使用软件实现的吗?
huanghuac 发表于 2019-6-15 15:20 | 显示全部楼层
建议用定时器硬件输出实现,就不存在收到干扰的情况
 楼主| pangb 发表于 2019-6-15 15:24 | 显示全部楼层

哦,那我就知道怎么回事了,多谢大家,结贴了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部