[an error occurred while processing this directive]
ВСЕ! Сдаюсь. Помогите, плз. IAR C +AVR+ Pony. Глюк или ДНК?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено EV 13 декабря 2002 г. 23:30

Вот уже который час занимаюсь странным занятием.

Отлаживаю програмку в ИАР Ц, вроде бы 1,40 для атмела 2313.
Пишу Понипрогом.

Отладил все процедуры, прерывания, работу с IIC, RS485. Все в порядке.
Тестовая програмка, которая принимает байты с 485 линии, выводит их в ИИС порт, читает ответ ИИС, отвечает на RS485.
Все работает, да еще и прерывания обрабатывает аж 4 штуки.

Теперь написана рабочая программа, которая делает то же самое, но в соответствии с алгоритмом. процедурки старые , ессно.
НЕ РАБОТАЕТ.
Ладно, не в первой, начинаем смотреть, где застревает. Для этого есть два светодиода, подключенных через ключи к портам, в рабочей програмке туда подключены моторчики.
Светодиоды молчат.
Оставляю в main ТОЛЬКО:

#define motor_on PORTD|=0x40
#define motor_off PORTD&=0xbf
//PD 6 Pin 11
#define revers_on PORTB|=0x04
#define revers_off PORTB&=0xfb
//PB2 pin14

main(void) {
DDRB = 0x04;
DDRD = 0x40;
while(1)
{
PORTD|=0x40; // Motor_on;
PORTB|=0x04; // Revers_on;
motor_off; //
revers_off;
}; //while
}
Не работает!

Отключение прерываний, убирание лишних переменных не помогает.
Main начинает работать только после удаления всех подпрограмм.
В самом пухлом варианте код за габариты не выходит.

Что же это за глюк такой???



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru