打印
[技术问答]

使用新唐的兄弟姐妹看过来, 5us的定时器中断hold住吗

[复制链接]
1403|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Harvard|  楼主 | 2017-5-21 23:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前,有这样一个应用, 在定时器2的中断中, 判断几个io的状态, 同事给几个软计数器进行减1运算,判断是否为0.  然后操作几个io的输出电平为高或者低.

系统主时钟采用50MHZ, adc采用内部22MHZ , 后台完成adc采集.  并根据adc值计算出软定时器值,

现在的情况是,当定时器2的中断间隔.从40us 编程5us的时候,  单片机工作就不正常了. 无**确读取adc值. io似乎也工作不正常了.  

请教大家. 新唐M0 工作在50MHZ ,一般情况下,最高允许的中断间隔是多少?
沙发
weiwei4dk| | 2017-5-22 08:34 | 只看该作者
你这中断也太频繁了,考虑下DMA吧

使用特权

评论回复
板凳
huangcunxiake| | 2017-5-22 10:31 | 只看该作者
Delay period in micro seconds. Valid values are between 100~1000000 (100 micro second ~ 1 second).
库函数的延时函数说明里面是至少100us.

使用特权

评论回复
地板
huangcunxiake| | 2017-5-22 10:32 | 只看该作者
估计库函数不行吧,用寄存器操作应该可以试试。

使用特权

评论回复
5
huangcunxiake| | 2017-5-22 15:53 | 只看该作者
没试过这么短时间的,配置都需要这么多吧,不如直接用空指令延时。

使用特权

评论回复
6
yiy| | 2017-5-22 17:30 | 只看该作者
50MHz应该可以,相当于50个CPU周期执行一个us.

使用特权

评论回复
7
Harvard|  楼主 | 2017-5-23 11:25 | 只看该作者
是这样 ,是需要利用这个10us 建立起 一个tick 然后有几个软计数器围绕这个,进行pwm 控制

使用特权

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

本版积分规则

个人签名:单片机工作者

74

主题

1726

帖子

21

粉丝