Форум myROBOT.ru » Лаборатория » Микроконтроллеры » Нужна помощь в программировании на codevision для мега16а

Страниц (1): [1]
 

1. AsKK - 03 Марта, 2012 - 16:29:56 - перейти к сообщению
Делаю лабу/ идея.
горит диод 1 пока не выключу включатель. (включатель без фиксации и сразу включается.)
далее через секунду загорается диод 2 на 10 сек

и все по кругу. Все брал из примеров

//
#define F_CPU 1000000UL

#include <avr/io.h> // тут ошибку выдает
#include <avr/iom16.h>
#include <util/delay.h>


void main(void)
{

DDRA = 0b11111111; //выводы
DDRD = 0b00000000; //входы


while(1==1)

{
PORTA = 0b00000001; // включаем светодиод 1
if(PIND == 0) // если отключили подачу 5в на порт D, то
PORTA = 0b00000000; // все выключаем
_delay_ms(1000); // на 1 сек // тут ошибку выдает
PORTA = 0b00000010; // включаем светодиод 2
_delay_ms(10000); // на 10 сек // тут ошибку выдает
}
}


}
рёв в три ручья

рёв в три ручья
2. anar - 04 Марта, 2012 - 16:09:47 - перейти к сообщению
попробуйте место: void main(void) написать int main(void)
3. Белый Волк - 04 Марта, 2012 - 18:27:36 - перейти к сообщению
AsKK
Насколько я знаю, в CodeVision AVR и в AVR Studio используется несколько разный синтаксис и названия большинства библиотек. Это значит, что Вы не можете брать примеры из статей данного сайта "как есть".
4. Gordon Freemen - 24 Марта, 2012 - 16:55:33 - перейти к сообщению
Как сказал Белый Волк синтаксис комплиляторов отличаются для реализаций этой программы нужно написать следущее :
CODE:


#include <megaX> // где Х пишите последние цыфры модели МК
#include <delay.h> // Библиотека задержки


void main(void)
{

DDRA = 0xFF; //выводы // 0xFF эквиалент 0b11111111 но так проще
DDRD = 0x00; //входы // тоже касается 0b00000000


while(1==1)

{
PORTA.0 = 0b00000001; // включаем светодиод 1
if(PIND == 0) // если отключили подачу 5в на порт D, то
PORTA = 0b00000000; // все выключаем
delay_ms(1000); // на 1 сек // так как есть отличия в синтаксисе нужно писать без //нижнего дефиса
PORTA = 0b00000010; // включаем светодиод 2
delay_ms(10000); // на 10 сек // тут ошибку выдает
}
}


}


Так же посоветовал бы вам прочитать книгу "CodeVisionAVR для начинающих" автор Лебедев М. Б. Улыбка