Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
#include#include
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
volatile int ctr;
ctr++;
if (ctr>3){
TCCR0 = 0x00;
PORTB=~2;
delay_ms(50);
ctr=0;
PORTB=255;}
}
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
}
Составить ответ | Вернуться на конференцию
Ответы
- STATIC volatile int ctr;. А VOLATILE собсно и не нужен — DASM (15.05.2007 13:23:5 212.58.208.91, пустое)
- теперь хлопец вообще погибнет... — zxcvbn (15.05.2007 13:34:22 195.208.248.202, пустое)
- разобрался.теперь еще вопрос назрел: — moZZZg (15.05.2007 13:42:16 83.234.50.18, 859 байт)
- Удивительно, но даже тэги не помогли... :) — 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 байт)