发新帖我要提问
12
返回列表
打印

430G2553定时器溢出中断计数丢失,求高手指点!

[复制链接]
楼主: 逍遥李
手机看帖
扫描二维码
随时随地手机跟帖
21
逍遥李|  楼主 | 2013-12-13 19:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
greenwei 发表于 2013-12-11 18:51
建议在IDE里单步一下,看看是不是在那个地方清零了!

设置断点和单步时候是一点问题都没有的,和一个室友讨论了两个晚上,可以确定计数的那个变量没清零,我现在怀疑会不会是什么干扰导致MSPG2553单片机运算错误?

使用特权

评论回复
22
逍遥李|  楼主 | 2013-12-13 19:48 | 只看该作者
1988020566 发表于 2013-12-12 15:42
超声波的触发木有问题吧?

是这样的,当注释掉电机那段程序后超声波发送和接收测试了很精确,而如果加上电机操作,小车在地上跑开始的几分钟还正常,大概跑了5分钟以后就容易陷入一个“死区”,就是一直检测有障碍,一直执行“倒车-----转向”这个动作

使用特权

评论回复
23
逍遥李|  楼主 | 2013-12-13 19:50 | 只看该作者
greenwei 发表于 2013-12-11 18:51
建议在IDE里单步一下,看看是不是在那个地方清零了!

哦刚刚说的不太清楚,就是单步的时候如果计数器当前值与溢出设定值相差30以上,就不会丢失这次溢出计数,而如果小于30了尤其是在10以内时候十有**就会丢失!

使用特权

评论回复
24
dirtwillfly| | 2013-12-14 12:01 | 只看该作者
本帖最后由 dirtwillfly 于 2013-12-14 12:05 编辑
逍遥李 发表于 2013-12-13 19:50
哦刚刚说的不太清楚,就是单步的时候如果计数器当前值与溢出设定值相差30以上,就不会丢失这次溢出计数, ...

定时器的开启和停止也会占用一些时间的,建议楼主开启定时器后然后停止,看延迟是多少
代码类似下面:

使用特权

评论回复
25
逍遥李|  楼主 | 2013-12-15 14:25 | 只看该作者
dirtwillfly 发表于 2013-12-14 12:01
定时器的开启和停止也会占用一些时间的,建议楼主开启定时器后然后停止,看延迟是多少
代码类似下面:
...

非常感谢!我试下这个方法;我还有个问题就是利用L298N驱动两个直流电机,IN1~IN4直接连接MSP430G2553的IO口是否会使单片机受到电机的干扰?

使用特权

评论回复
26
dirtwillfly| | 2013-12-15 14:30 | 只看该作者
逍遥李 发表于 2013-12-15 14:25
非常感谢!我试下这个方法;我还有个问题就是利用L298N驱动两个直流电机,IN1~IN4直接连接MSP430G2553的I ...

L298N的控制信号要求是5V吧?2553能直接驱动?

使用特权

评论回复
27
dirtwillfly| | 2013-12-15 14:37 | 只看该作者
额,刚查了资料,驱动应该没问题。干扰的话要看你的电路是什么样的

使用特权

评论回复
28
1988020566| | 2013-12-18 00:13 | 只看该作者
逍遥李 发表于 2013-12-13 19:48
是这样的,当注释掉电机那段程序后超声波发送和接收测试了很精确,而如果加上电机操作,小车在地上跑开始 ...

小车是通过PWM控制的 么?

使用特权

评论回复
29
1988020566| | 2013-12-18 00:14 | 只看该作者
还是小车有额外的中断检测程序的?

使用特权

评论回复
30
逍遥李|  楼主 | 2013-12-19 16:34 | 只看该作者
dirtwillfly 发表于 2013-12-15 14:30
L298N的控制信号要求是5V吧?2553能直接驱动?

嗯是应该用5V的,我这里没有转换,直接用的2553,不过也能驱动了,调速都正常,我过段时间好好修改下硬件电路,我也觉得干扰可能来自两个地方:1个就是这个L298N,另一个就是超声波测距模块,为了图省事我也没转换电压,也是直接用的G2553输出2.4V给超声波测距模块发送的触发信号。

使用特权

评论回复
31
逍遥李|  楼主 | 2013-12-19 16:35 | 只看该作者
dirtwillfly 发表于 2013-12-15 14:37
额,刚查了资料,驱动应该没问题。干扰的话要看你的电路是什么样的

嗯,谢谢你了,我过段时间重新做块板,把硬件电路规范一下

使用特权

评论回复
32
1988020566| | 2013-12-25 16:16 | 只看该作者
逍遥李 发表于 2013-12-13 19:48
是这样的,当注释掉电机那段程序后超声波发送和接收测试了很精确,而如果加上电机操作,小车在地上跑开始 ...

Io口用乱了吧?

使用特权

评论回复
33
1988020566| | 2013-12-25 16:16 | 只看该作者
逍遥李 发表于 2013-12-13 19:48
是这样的,当注释掉电机那段程序后超声波发送和接收测试了很精确,而如果加上电机操作,小车在地上跑开始 ...

加个上啦电阻试试的。

使用特权

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

本版积分规则