Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
#include#include
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
int ctr;
ctr++;
if (ctr>1000){
TCCR0 = 0x00;
PORTB=~2;
ctr=0;
TCCR0 = 0x01;
}
if (PORTB==~2){
if (ctr>50){
PORTB=255;
delay_ms(500);}
}}
void main(void) {TCCR0=0x01;
TCNT0=0x00;
TIMSK=0x01;
PORTB=~1;DDRD=0xFE;
DDRB=0xFF;#asm("sei")
while(1) {
if (PIND.0==0){
if (PORTB.0==1){
delay_ms(50);
PORTB.0=0;}
}
if (PIND.0==0){
if (PORTB.0==0){
delay_ms(50);
PORTB.0=1;}
}
} // main
}TCCR0 = 0x00; вот отключил счетчик, но если его опять включить TCCR0 = 0x01;, то не реагирует программа на нажати е кнопки
подскажите!!!!!!!!!!!
Составить ответ | Вернуться на конференцию
Ответы
- Удивительно, но даже тэги не помогли... :) — Quasy (15.05.2007 13:43:53 80.243.9.34, пустое)
- бывает.. код то как подправить?? — moZZZg (15.05.2007 13:46:29 83.234.50.18, пустое)
- Ну, а почему опять ctr локальная, без static? Она же каждый раз из ничего создается. Инкрементируй-неинкрементируй, она умрет при выходе из прерывания.Напишите словами, что вообще хотите получить. — Quasy (15.05.2007 13:50:35 80.243.9.34, пустое)
- Мужики,всем спасибо!(+++) — moZZZg (15.05.2007 13:59:45 83.234.50.18, 77 байт)