首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

菜问:TIMER中断后,counter还计数吗

菜问:TIMER中断后,counter还计数吗

我在定时器中断后调用的子程序里,让CPU输出一个高电平使能计数器counter,

然后再读counter的输出,却发现他的输出始终为0。

所以有如题的菜问,是我设置错了还是他原本就计不了了?鄙视无效!

这是一个timer中断程序的例子,要重新赋值

static void handle_Timer0_interrupts(void* context, alt_u32 id)
{
alt_u8 a;
volatile alt_u8 *countptr = (volatile alt_u8 *)context;
IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_0_BASE, 0);//清TO标志
a = *countptr; //取出count中的值
a=a<<1; //作移一位
if (a == 0x10) a=1; //我只有4个led,所以要让led循环闪烁
*countptr=a; //重新赋值给count
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, a); //写到LED输出口
}

[此贴子已经被作者于2007-8-30 20:10:48编辑过]

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm

头儿,你说的可能跟我问的不太一样。

我说的counter是quartus ii 里添加到顶层图上的那个lpm counter0。启动之后里面的数应该是可以随着系统时钟不停的涨啊涨啊的那种。(以我的理解能力应该是这样的)

我想问的是,这个counter跟定时器中断会不会有冲突,因为我在定时器中断里使能counter以后,他不再计数了(读他的输出总是0)。

"个lpm counter0"

是counter ip ,

"系统时钟不停的涨啊涨啊的那种"

是的,会涨。

“这个counter跟定时器中断会不会有冲突,因为我在定时器中断里使能counter以后,他不再计数了”

不会冲突。两个是互不相关的实体。

你可以检查一下nios中timer对counter的使能信号有没有问题,和counter的使能信号有没有问题。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
返回列表