2810|3

56

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

timer 中斷問題 [复制链接]

請教
主頻為 : 20MHz
timer0~3,共4個32bit
我將其拆成 timer0a/0b , timer1a/1b , timer2a/2b ,timer3a/3b ,每個皆為16bit
timer0a/0b = 1ms /100ms
timer1a/1b = 10ms /10ms
timer2a/2b = 100ms /200ms
timer3a/3b = 1ms /200ms
以上為各個timer中斷時間
共8個中斷,各自做各自的事
但發現,8個全開下,僅有timer3a/b中段時間 會忽快忽慢
但只要將timer0~2任一關閉,則timer3a/b及恢復正常中斷時間

請問有什麼可能??
timer也沒找到優先權相關設置

以上再麻煩,有經驗人士,協助分析下

謝謝

最新回复

这些中断的时间基准都是成倍数关系的,为什么不减少一些中断,使用变量累加来达到同样效果,比如在1ms中断中用一个变量累加到100执行,就可以达到100ms中断的效果了  详情 回复 发表于 2017-5-17 11:21
 
点赞 关注

回复
举报

1800

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
这些中断的时间基准都是成倍数关系的,为什么不减少一些中断,使用变量累加来达到同样效果,比如在1ms中断中用一个变量累加到100执行,就可以达到100ms中断的效果了

点评

是,沒錯 正確來說,以上8個timer,我只使用到6個,2個是直接關閉的 這是考慮到各功能的分離性與穩定性來做 這6個timer包含 2組 rs485 2組 can open 1組 i2c 實時的io 錯誤偵測 實時的 命令控制 及 同時的lcd  详情 回复 发表于 2017-5-17 11:32
 
 

回复

56

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
sint27 发表于 2017-5-17 11:21
这些中断的时间基准都是成倍数关系的,为什么不减少一些中断,使用变量累加来达到同样效果,比如在1ms中断 ...

是,沒錯
正確來說,以上8個timer,我只使用到6個,2個是直接關閉的

這是考慮到各功能的分離性與穩定性來做
這6個timer包含
2組 rs485
2組 can open
1組 i2c
實時的io 錯誤偵測
實時的 命令控制
及 同時的lcd/led 顯示

考慮到can 485...等等的裡面會使用while來做fifo的讀取
"萬一" 發生異常 while跑不出 會導致 後面的其他功能失效
....等等的
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(中级)

4
 
以解決,感謝
分享解決方式 :
修正8個timer 中斷優先權,即可解決
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表