标题:
关于单片机中怎样使中断程序中的变量和主函数中的变量同步变化
[打印本页]
作者:
Proceed
时间:
2019-9-10 20:41
标题:
关于单片机中怎样使中断程序中的变量和主函数中的变量同步变化
我原本是想在一个单片机定时器的中断服务处理程序中的if条件中使用一个变量m,当m是10的话就会执行这一个中断程序,if(m==10){ },m在主函数中的次数是在不断增加的。一开始显示中断程序中的m未定义,我放在了main()之前就没有问题了。但是不知道如果m的定义放在main()函数之前,m在主函数中次数增加的话,在中断程序中会不会也跟随着增加。。。。。。。
如果有大佬知道的话,请指点我一下。
作者:
没有你
时间:
2019-9-10 21:33
如果中断服务程序和main()函数在同一个.C文件,就没问题
作者:
tyrl800
时间:
2019-9-10 22:06
全局变量就没有问题,跟着变化
作者:
928320204
时间:
2019-9-10 22:44
2种办法,1是你把你的程序贴出来看看,2是将m定义成一个绝对地址,并将该区域保留。希望对你有帮助。
作者:
csmyldl
时间:
2019-9-10 23:17
定义在main函数之外的变量是全程变量,在中断函数中共用一个存储单元,会跟着变化.
作者:
yzwzfyz
时间:
2019-9-11 21:55
将变量设置为全局变量。
作者:
trulydream
时间:
2019-9-12 09:52
是全局变量就会跟着变。但是由于main函数读取m不是原子操作,有必要的话,需要关中断保护一下
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1