打印
[AVR单片机]

请教ATMEGA8的T0中断问题

[复制链接]
3706|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1dqmoon|  楼主 | 2007-11-11 16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在网上了查了很多,不过似乎都是有问题没答案,所以就试试在这里问问了.
atmega8+gcc,做个2ms的延时程序,程序如下:

int KeyFlag=0;
int KeyValue=0;
SIGNAL(SIG_OVERFLOW0)
{
    KeyFlag=1;
    KeyValue=0x01;
}

int main(void)
{
    TCNT0 = 0x06;
    TCCR0 = 0x01;   // 系统时钟,不分拼
    TIMSK = 0x01;
    sei();
    
    while(!KeyFlag);  等待2ms到来
    // do something here
}


程序会停在 while(!KeyFlag)这里, 好象是没有中断造成. 但实际去跟踪调试时,发现程序能进中断, 这是怎么回事啊?

相关帖子

沙发
hotpower| | 2007-11-11 16:29 | 只看该作者

volatile

volatile int KeyFlag=0;
int KeyValue=0;
SIGNAL(SIG_OVERFLOW0)
{
    KeyFlag=1;
    KeyValue=0x01;
}

int main(void)
{
    TCNT0 = 0x06;
    TCCR0 = 0x01;   // 系统时钟,不分拼
    TIMSK = 0x01;
    sei();
    
    while(!KeyFlag);  等待2ms到来
    // do something here
}

使用特权

评论回复
板凳
hotpower| | 2007-11-11 16:31 | 只看该作者

忘了菜农回帖的新规则---回帖正确必须将21ic的ID让菜农用1次~

哈哈~~~不知楼主同意否???

哈哈~~~~~~~~

使用特权

评论回复
地板
1dqmoon|  楼主 | 2007-11-11 16:37 | 只看该作者

用了static....

刚好和volatile 相反,怎么就没想到这个呢.星期一再去试好了.

用我id到是没什么, 不过要看最后调试的结果了. 因为程序中用了t0 t1两个定时器,用avrstudio模拟仿真的时候能进T1中断不能进T0中断.

使用特权

评论回复
5
hotpower| | 2007-11-11 16:47 | 只看该作者

你的ID就是你没用过的21IC选美证(进入21ICBBS的密码)

哈哈~~~菜农先谢了~~~
相关链接:http://www.**/blog/hotpower/58716/message.aspx

使用特权

评论回复
6
hotpower| | 2007-11-11 17:38 | 只看该作者

哈哈~~~生意成了,1dqmoon可要立字据呀!!!

做人要厚道~~~

使用特权

评论回复
7
1dqmoon|  楼主 | 2007-11-11 17:58 | 只看该作者

原来这样啊,

不过要先说好,帮我把这次的程序搞定,
当然了,大部分我会去做,不懂的来问你好了

使用特权

评论回复
8
315avr| | 2007-11-11 18:20 | 只看该作者

新规则有创意,不过我已投过00了,呵呵...

使用特权

评论回复
9
hotpower| | 2007-11-11 18:27 | 只看该作者

楼上理解有误!!!俺可没说俺用它来投票呀~~~

使用特权

评论回复
10
computer00| | 2007-11-11 18:32 | 只看该作者

呵呵,没有加volatile,可能编译器将你那个while语句给优化了

成了死循环.

使用特权

评论回复
11
hotpower| | 2007-11-11 18:34 | 只看该作者

哈哈~~~看来这笔买卖让俺捡了个大便宜~~~第1桶金诞生!!!

使用特权

评论回复
12
315avr| | 2007-11-11 21:34 | 只看该作者

呵呵,您的思路是与常人不一样,我不猜

使用特权

评论回复
13
dlwlmlj| | 2007-11-12 16:23 | 只看该作者

还是qq说的对!

你别用优化就 行了!

使用特权

评论回复
14
1dqmoon|  楼主 | 2007-11-12 21:58 | 只看该作者

不管怎么样, hotpower 还是帮了我大忙

程序已经快完成了,没想到就卡在那个地方了

我的密码用消息发给你了,用完记得还我就好了

使用特权

评论回复
15
hotpower| | 2007-11-13 00:49 | 只看该作者

哈哈~~~菜农收到第2笔费用~~~自贺一番~~~

俺暂时不用,省得有人要告检察院法办俺~~~

郁闷之中,最近被双规了~~~

使用特权

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

本版积分规则

63

主题

253

帖子

0

粉丝