打印

关于合泰单片机的问题

[复制链接]
842|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
有大佬帮忙看一下吗?
我在使用合泰的单片机的时候,遇到一个问题,定时器1ms中断一次,计数1000次,就是1s,然后在while(1)里面判断,如果到达1000就IO翻转一下,然后发现一直都没有进入判断,如果把判断放到中断里面就可以实现,
然后我进行了测试,while(1)里面一直IO翻转,1000次计数的判断到了就把IO口拉低,关闭定时器中断,还是没有进去
下面是代码和逻辑分析仪抓取的波形,有大佬知道怎么回事吗,还是说我的代码有问题




使用特权

评论回复

相关帖子

沙发
叶春勇| | 2020-3-25 17:47 | 只看该作者
中断里有while死循环?进去就出不来了。

使用特权

评论回复
评论
叶春勇 2020-3-26 11:24 回复TA
中断里用的变量都要加volatile,不然搞点莫名其妙的问题,浪费时间。 
酱油兑啤酒 2020-3-26 11:22 回复TA
不是,是合泰的变量需要加volatile 
板凳
Cjy_JDxy| | 2020-3-25 17:56 | 只看该作者
把while去掉,time-1000ms到了就清零

使用特权

评论回复
评论
酱油兑啤酒 2020-3-26 13:51 回复TA
哦哦 ,我知道了,你们误解了,这个是两张图片,前面的是中断的,中间那张代码图片是main的 
Cjy_JDxy 2020-3-26 11:42 回复TA
@Cjy_JDxy :你意思只翻转一次 
Cjy_JDxy 2020-3-26 11:30 回复TA
@酱油兑啤酒 :进中断我知道,但是死循环IO不翻转呀 
酱油兑啤酒 2020-3-26 11:23 回复TA
死循环也进中断的,狗也关了,不会复位 
地板
yml1104| | 2020-3-26 08:45 | 只看该作者
time_1000ms到了之后先清零再做别的动作 还有是不是没定义成全局变量?

使用特权

评论回复
评论
酱油兑啤酒 2020-3-26 13:53 回复TA
@sjnh :没有吧,我之前用的单片机都是不需要的 
sjnh 2020-3-26 11:39 回复TA
@酱油兑啤酒 :这个不是合泰单片机的问题,是所有单片机只要中断、主程序都用的变量,一定加volatile 
酱油兑啤酒 2020-3-26 08:58 回复TA
不是,找到问题了,合泰的单片机在中断函数和主函数里面都用到的变量需要volatile声明一下 
5
gx_huang| | 2020-3-26 11:58 | 只看该作者
这么简单的代码也要问,中断函数里怎么会有死循环?

使用特权

评论回复
评论
酱油兑啤酒 2020-3-26 13:52 回复TA
中间的那个图片是main的,我图片放得不好,不是中断的while 
6
yzq13246068880| | 2020-3-26 13:37 | 只看该作者

使用特权

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

本版积分规则

6

主题

31

帖子

0

粉丝