roboforum.ru

Технический форум по робототехнике.

Проблема

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Проблема

Сообщение xapc » 29 май 2006, 18:20

Нужно было написать прошивку что бы контроллер раз в секунду инвертировал значения на всех выходах
Воспользовался мастером в CVAVR, после чего добавил свой код, после прошивки светодиоды горят постоянно в чем ошибка?



#include <mega16.h>  
#include <delay.h>  
void main(void)
{
Func1=Out Func0=Out
State0=0
PORTA=0x00;
DDRA=0xFF;

Func1=Out Func0=Out
State0=1
PORTB=0xFF;
DDRB=0xFF;

Func1=Out Func0=Out
State0=0
PORTC=0x00;
DDRC=0xFF;

Func1=Out Func0=Out
State0=0
PORTD=0x00;
DDRD=0xFF;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;


ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

TIMSK=0x00;

ACSR=0x80;
SFIOR=0x00;

while(1)
repeat:

PORTA=0xFF;
PORTB=0xFF;
PORTC=0xFF;
PORTD=0xFF;
delay_ms(1000);

PORTA=0x00;
PORTB=0x00;
PORTC=0x00;
PORTD=0x00;
delay_ms(1000);

goto repeat;
}
xapc
 
Сообщения: 68
Зарегистрирован: 13 окт 2005, 14:13
Откуда: Ростов-на-Дону
Skype: hars_oleg
ФИО: Олег Харсеев

Сообщение Карлсон » 29 май 2006, 18:36

а с какого боку тут goto?
не используйте этот оператор.
во всех нормальных книгах по сям и по прогированию черным по белому написано, что любой алгоритм можно реализовать без goto.

попробуйте стандартное while(1){};
Аватара пользователя
Карлсон
 
Сообщения: 114
Зарегистрирован: 30 окт 2005, 13:10
Откуда: Москва

Сообщение xapc » 29 май 2006, 18:58

Переделал, все работает Карлсон спасибо
xapc
 
Сообщения: 68
Зарегистрирован: 13 окт 2005, 14:13
Откуда: Ростов-на-Дону
Skype: hars_oleg
ФИО: Олег Харсеев

Сообщение avr123.nm.ru » 29 май 2006, 19:25

xapc писал(а):Переделал, все работает Карлсон спасибо


если найдешь время - почитай пожалуйста

Си для МК
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение xapc » 29 май 2006, 20:02

читал спасибо ошибка в пропущенной скобке была :)
xapc
 
Сообщения: 68
Зарегистрирован: 13 окт 2005, 14:13
Откуда: Ростов-на-Дону
Skype: hars_oleg
ФИО: Олег Харсеев

Сообщение avr123.nm.ru » 30 май 2006, 10:34

в приведенном вами коде двух скобок {   } для while не хватает.

так как нижняя - это для main.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron