роботы робототехника микроконтроллеры


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

> Описание: Си+ для мега16
AsKK Post Id



Рядовой


Сообщений всего: 1
Дата рег-ции: Март 2012  



Делаю лабу/ идея.
горит диод 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 сек // тут ошибку выдает
}
}


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

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

(Отредактировано автором: 03 Марта, 2012 - 16:32:25)

 
 Top
anar Post Id



Главнокомандующий


Сообщений всего: 441
Дата рег-ции: Июнь 2011  



попробуйте место: void main(void) написать int main(void)
 
 Top
Белый Волк Супермодератор Post Id



Супермодератор


Сообщений всего: 648
Дата рег-ции: Февр. 2007  



AsKK
Насколько я знаю, в CodeVision AVR и в AVR Studio используется несколько разный синтаксис и названия большинства библиотек. Это значит, что Вы не можете брать примеры из статей данного сайта "как есть".
 
 Top
Gordon Freemen Post Id



Рядовой


Сообщений всего: 18
Дата рег-ции: Янв. 2012  



Как сказал Белый Волк синтаксис комплиляторов отличаются для реализаций этой программы нужно написать следущее :
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 для начинающих" автор Лебедев М. Б. Улыбка
 
 Top
Страниц (1): [1]
« Микроконтроллеры »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru