打印
[AVR单片机]

高分悬赏IAR Atmega8 计数器T1

[复制链接]
3253|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aoshi0603|  楼主 | 2011-11-30 21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 aoshi0603 于 2011-12-12 09:28 编辑

用IAR AVR编译的M8程序,能让下面的计数器T1跑起来就行,我仿真时TCNT1就是不增长。不知道为什么,以前用ICC是好用的
工程在附件中。
#include <iom8.h>
#include <iomacro.h>

#include <intrinsics.h>
#include <comp_a90.h>

void init_time1(void)
{
   TCCR1B = 0x00;                        //stop
   TCNT1  = 0x0000;                        //
   TCCR1A = 0x00;
   TCCR1B = 0x02;                        //start Timer
}

main()
{
   unsigned int a;
   
   _CLI();                //全局中断禁用
   init_time1();
   MCUCR = 0x00;
   GICR  = 0x00;
   //_SEI();                //全局中断使能
  
  while(1)
  {
    a = TCNT1;
  }
}

相关帖子

沙发
ccxlslr| | 2011-12-1 08:46 | 只看该作者
你上面的设置会对时钟8分频,要多跑几步才会变。

使用特权

评论回复
板凳
ccxlslr| | 2011-12-1 08:48 | 只看该作者
要看TCNT1,不要看a

使用特权

评论回复
地板
airwill| | 2011-12-1 09:40 | 只看该作者
也有可能是仿真软件的问题.
所以不要过于相信纯仿真的东西, 也要注重实际运行.

使用特权

评论回复
5
aoshi0603|  楼主 | 2011-12-1 11:38 | 只看该作者
这个Timer1我配置用来做计数器, 实际工程用到的一个功能. 但是用IAR AVR仿真时, TCNT1不变, 将程序下载到目标板上看效果时, TCNT1也是不变的, 问题不知道出在什么地方.
有可能是IAR AVR选项配置问题? 其它功能是好用的

还请熟悉IAR AVR的朋友下载工程帮看看:)
我用的IAR AVR v5.40.1

使用特权

评论回复
6
uc_zigbee| | 2011-12-2 17:56 | 只看该作者
iar 要硬件仿真才行。

使用特权

评论回复
7
airwill| | 2011-12-3 10:54 | 只看该作者
将程序下载到目标板上看效果时, TCNT1也是不变的?
    真要看看 IAR AVR 选项配置, 寄存器的地址定义,
还有, 程序里读出 TCCR1B  的值来验证一下

使用特权

评论回复
8
aoshi0603|  楼主 | 2011-12-12 09:27 | 只看该作者
谢谢大家, IAR确实是不支持软件仿真,或支持的不好, Time计数器都不走

使用特权

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

本版积分规则

6

主题

113

帖子

3

粉丝