单片机串口和定时器中断同时开启 50
单片机串口和定时器中断同时开启所有的初始化都是对的,现在遇到一个非常搞笑的问题,在调试代码的时候我定义了四个全局变量,两个int,两个char,初值都为0,但是并没有使用...
单片机串口和定时器中断同时开启所有的初始化都是对的,现在遇到一个非常搞笑的问题,在调试代码的时候我定义了四个全局变量,两个int,两个char,初值都为0,但是并没有使用这几个变量!!!
这样,这段程序就失效了,单独开启其中一个中断是可以的。
把这四个变量删了,两个中断都是可以同时开启。
把这几个变量都变成char,也是可以的,
初值换为其他值,也是可以的,
换double,也是可以的。
就是原来那样定义不行,
删掉其中一个变量,也是正常。
但是,我根本没有使用这几个变量!实在是日狗。
我定义变量有错吗?重新复制粘贴在新的工程,也不行!
调试代码遇到这样没有道理的问题,我实在是很恶心!
后面,还有一个问题,只要我定义了一个函数,程序失效,删掉就正常,可是,并没有使用这个函数!
代码不大,没有超大小,没有这四个变量,程序是十分正常的!0错误,0警告!
谁能救救我! 展开
这样,这段程序就失效了,单独开启其中一个中断是可以的。
把这四个变量删了,两个中断都是可以同时开启。
把这几个变量都变成char,也是可以的,
初值换为其他值,也是可以的,
换double,也是可以的。
就是原来那样定义不行,
删掉其中一个变量,也是正常。
但是,我根本没有使用这几个变量!实在是日狗。
我定义变量有错吗?重新复制粘贴在新的工程,也不行!
调试代码遇到这样没有道理的问题,我实在是很恶心!
后面,还有一个问题,只要我定义了一个函数,程序失效,删掉就正常,可是,并没有使用这个函数!
代码不大,没有超大小,没有这四个变量,程序是十分正常的!0错误,0警告!
谁能救救我! 展开
3个回答
2016-07-06
展开全部
如果串口也是用的T1,就不行。
如果不是,就可以。利用51单片机的定时器1的溢出率产生波特率,并不需要打开 T1 的中断。
如果打开了,你就应该编写相应的中断程序。
如果,你没有写中断程序,那么,它中断后,自然就会给你添乱。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询