-
正需要 谢谢楼主~~~~~~~~~
-
看你上位机是用什么环境的 如果只有c语言 windows下面可以去看看windows程序设计 linux下面可以去看看APUE
-
算法问题 建议你采用均值滤波 来减少外界干扰
-
看看 感兴趣中...
-
采用gcc编译
#include
#include
unsigned char cnt;
void INTI_time0(void)
{
TIMSK|=0x01;//允许定时器0溢出中断
TCCR0=0x06;//设置256分频
TCNT0=0x82;//8ms溢出时长
}
ISR(TIMER0_OVF_vect)
{
static unsigned char num=0;
TCNT0=0x82;//8ms溢出时长
num++;
if(num>=125)//一秒时长
{
num=0;
cnt++;
}
PORTA=~cnt;//此处放在外部死循环是 a管口仍然不能输出电平变化
}
void main()
{
INTI_time0();
DDRA=0xff;//设置a管口为输出方式
sei();
while(1)
{
;
}
}
-
改换顺序也没用。。。。
-
num用静态变量和全局变量在这里没什么区别 不过换了还是没用
-
不是的 TCCR0=0x06; 是采用256分频的普通工作方式
POTRA=~num; 这是个将num取反输出 这样点亮的led可以对应的bcd编码(即哪个为1就哪盏灯点亮)
-
在avr gcc 下面运行 软仿发现TIMSK不能赋值进去 这是为什么呢?
-
中断已经开启了 软件部应该存在问题才对 上次写其他的程序也是用的AVR icc 硬件电路也没出现问题 其他的定时器能够正常工作.... 就是想不明白为什么进不去定时器0