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

整型赋值 中断

[复制链接]
楼主: 栩栩如生
手机看帖
扫描二维码
随时随地手机跟帖
21
栩栩如生|  楼主 | 2011-7-11 23:03 | 只看该作者 回帖奖励 |倒序浏览
确实是个好方法,但对于程序中很多地方直接对test=xxxx;  xxxx是另外一个可变的一个变量。还是要保护的。对于特殊0xxxff; (中断test++)  0xxx00;(test--),是否有更好的方**

使用特权

评论回复
22
栩栩如生|  楼主 | 2011-7-11 23:12 | 只看该作者
肯定可以用字节操作了。不过这样程序复杂了,降低了可读性。
我本意是对脉冲在中断进行计数,在主程序里面判断脉冲个数。就直接用了整型数据

使用特权

评论回复
23
mcu5i51| | 2011-7-12 08:44 | 只看该作者
main()
{
  while(1)
    {

test=0x08fe;

temp=test; 编译器会优化为一个变量处理,并且主程序中的变量存储在寄存器中

if(temp==0x0800)

{

led=1;

}
    }


}


xxxx() interrupt ex0int   //外部中断

   test++;这里是直接读取内存数据的,结果把原本应该是一个的变量弄成两个独立的了


led=1;  有多大可能性执行到,怎么解决? 执行概率可能为0
解决方法:加变体说明变量不能优化,主程序在变量操作前禁止终端产生,防止一个变量处理中被改为未知数据

使用特权

评论回复
24
wewo| | 2011-7-18 15:47 | 只看该作者
过来学习下

使用特权

评论回复
25
llljh| | 2011-7-18 17:27 | 只看该作者
多谢奖分

使用特权

评论回复
26
栩栩如生|  楼主 | 2011-7-18 21:25 | 只看该作者
不客气

使用特权

评论回复
27
ertu| | 2011-7-27 18:48 | 只看该作者
过来学习下

使用特权

评论回复
28
ertu| | 2011-7-27 18:48 | 只看该作者
高手好多呀

使用特权

评论回复
29
栩栩如生|  楼主 | 2011-7-29 14:19 | 只看该作者
学习了

使用特权

评论回复
30
youyou00| | 2011-8-3 09:30 | 只看该作者
解决方法:加变体说明变量不能优化,主程序在变量操作前禁止终端产生,防止一个变量处理中被改为未知数据
太棒了

使用特权

评论回复
31
youyou00| | 2011-8-3 09:30 | 只看该作者
:lol

使用特权

评论回复
32
栩栩如生|  楼主 | 2011-8-3 11:30 | 只看该作者
解决方法:加变体说明变量不能优化,主程序在变量操作前禁止终端产生,防止一个变量处理中被改为未知数据
太棒了
youyou00 发表于 2011-8-3 09:30
:L

使用特权

评论回复
33
mowo| | 2011-8-8 21:43 | 只看该作者
应该可以结贴了把

使用特权

评论回复
34
mowo| | 2011-8-8 21:44 | 只看该作者
我觉的大家说的都很细了

使用特权

评论回复
35
llljh| | 2011-8-10 10:43 | 只看该作者
高手真多

使用特权

评论回复
36
栩栩如生|  楼主 | 2011-8-12 21:06 | 只看该作者
呵呵,是啊,很荣幸啊

使用特权

评论回复
37
729144646| | 2011-8-14 20:17 | 只看该作者
test=0x08fe;
难道是两位静态数码管?

使用特权

评论回复
38
栩栩如生|  楼主 | 2011-8-22 11:05 | 只看该作者
test=0x08fe;
难道是两位静态数码管?
729144646 发表于 2011-8-14 20:17
呵呵

使用特权

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

本版积分规则