No.97985 作者:fudeyun 邮件:fdy_001@163.com ID:60106 登陆:3次 文章数:1篇 最后登陆IP:61.183.78.39 最后登陆:2006/11/29 14:44:07 注册:2006/9/21 13:01:20 财富:106 发帖时间:2006/9/21 14:30:47 发贴者IP:61.183.65.121 标题:fudeyun:[讨论]关于共享变量和可重入函数在实际编程中的处理 摘要:No.97985[讨论]关于共享变量和可重入函数在实际编程中的处理 今天,在老古论坛上发现一篇文章,题为(部分内容如下): ==================================================== Keil C51编程 --版主 老古  (2)共享变量操作的危险性 网站: sbit ea = 0xAF; sbit ex0 = 0xA8; sbit IE0 = 0x89; sbit it0=0x88; unsigned char xdata i=0x00; void inc(void) //程序的功能是使变量i加一 { i++; } void main() { ea=1; ex0=1; it0=1; while(1) { inc(); } } void Int0(void) interrupt 0 //发生一个外部中断事件使i减一 { i--; } // 修改后的inc函数 void inc(void) //程序的功能是使变量i加一 { ea=0; i++; ea=1; } ==================================================== 文中谈到了共享变量的危险性,其解决办法是先关闭中断,操作完毕,再打开中断。具体分析见 。 我个人认为不妥,具体分析如下: 1,上篇文章中的模型中说明了两个问题 ......
>>返回讨论的主题
|