[PIC®/AVR®/dsPIC®产品] PIC32的定时器32位模式的问题

[复制链接]
4488|23
 楼主| flycamelaaa 发表于 2024-10-23 15:10 | 显示全部楼层 |阅读模式
如题,将定时器配置为16位模式,进中断跑的好好的,我现在将T4和T5配置为32位模式,能进若干次中断,之后就再也进不去了。我是将T4+T5配置成了OC1输出比较的时钟源,OC1配置为PWM输出模式,开T5的中断,每输出一个方波后实时修改PWM频率和占空比,目前具体情况是输出160多个方波后,定时器就停了,不知何故,在线仿也看了,数据都写入PR4和PR5了的,OCR1S和OCR1,也写入了数据,可就是不进中断
laocuo1142 发表于 2024-10-24 12:21 | 显示全部楼层
可能是定时器配置问题
powerantone 发表于 2024-10-24 12:22 | 显示全部楼层
检查PWM配置,中断配置
yangjiaxu 发表于 2024-11-4 15:47 | 显示全部楼层
是不是跑飞了啊?你写个日志试试呢?
nuan11nuan 发表于 2024-11-15 23:50 | 显示全部楼层
在将定时器配置为32位模式时,可能会遇到一些问题,特别是在中断处理和寄存器配置方面。

canfeil 发表于 2024-11-16 13:47 | 显示全部楼层
中断标志位清除,在32位模式下,中断标志位的清除方式可能与16位模式不同。确保在中断服务程序中正确清除中断标志位。

eleg34ance 发表于 2024-11-16 17:36 | 显示全部楼层
寄存器配置,确保所有相关的寄存器都正确配置,特别是与32位定时器相关的寄存器。

ewyu 发表于 2024-11-16 20:23 | 显示全部楼层
中断优先级,检查中断优先级设置,确保没有其他高优先级中断干扰定时器中断。

hight1light 发表于 2024-11-17 12:12 | 显示全部楼层
定时器溢出,在32位模式下,定时器的溢出值更大,确保你的中断处理程序能够正确处理溢出情况。

miltk 发表于 2024-11-17 14:43 | 显示全部楼层
检查中断标志位,确保在中断服务程序中正确清除中断标志位。

gra22ce 发表于 2024-11-18 10:21 | 显示全部楼层
检查寄存器值,使用调试工具检查PR4、PR5、OCR1R和OCR1RS的值,确保它们被正确写入。

hhdhy 发表于 2024-11-18 16:19 | 显示全部楼层
逐步调试,逐步调试代码,确保每个步骤都按预期工作。

twinkhahale 发表于 2024-11-18 20:18 | 显示全部楼层
在将定时器配置为32位模式时,确保正确配置所有相关寄存器,并正确处理中断标志位。通过逐步调试和检查寄存器值,可以找到问题的根源并解决它。

yuliangren 发表于 2024-11-18 23:19 | 显示全部楼层
是不是有些外设不支持32位的定时器呢,比如高级定时器支持,普通的就不支持呢?
我爱台妹mmd 发表于 2025-1-31 23:52 | 显示全部楼层
在 32 位模式 下,定时器的计数范围会增加,可能会出现由于配置不当而导致的溢出或中断丢失等问题。
自动化陈稳 发表于 2025-4-27 01:34 | 显示全部楼层
如果在处理中断时没有及时清除溢出标志位,定时器可能会认为已经产生过中断,因此之后无法再次进入中断。
自动化陈稳 发表于 2025-4-27 01:34 | 显示全部楼层
:确保在每次进入中断时,手动清除相应的中断标志位。例如,清除T4/T5的中断标志位。
单片小菜 发表于 2025-4-27 16:03 | 显示全部楼层
没有配置好定时器造成的。
穷得响叮当侠 发表于 2025-4-28 14:18 | 显示全部楼层
看起来像是定时器溢出的问题。检查一下是否设置了正确的溢出值,确保PR4和PR5的值没有超过32位的最大值。
暗夜幽灵骑士 发表于 2025-4-28 22:27 | 显示全部楼层
看起来像是定时器溢出的问题。检查一下T5的中断使能和溢出标志,确保它们在每次中断后都被正确地清除。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

846

主题

4473

帖子

1

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