Главная страница Каталог файлов Форум Фотоальбомы Гостевая книга Каталог сайтов Тесты
Меню сайта
Опрос
Как вам содержание нашего сайта?
Всего ответов: 133
Категории раздела
Роботы и программирование [10]
Радиоэлектроника [13]
История [0]
Полезные мелочи [3]
Всякая полезная мелочь
Занимательные конструкции [2]
Новости [1]
Друзья сайта
114 Сайт по ремонту радиоэлектронной аппаратуры.Схемы,статьи,форум. Схемы, программы для расчетов, книги, форум, галерея и многое другое на нашем сайте
114
Extreme360: велоспорт, всё о велосипедах!
Магазин организации NRW myrobot.ru Софт бесплатно и без регистрации!
Главная » Статьи » Роботы и программирование

Компиляция программы в WinAvr в картинках!

Написав программу вы не
сможете просто так загрузить её в микроконтроллер, для этого надо её
откомпилировать. Для компиляции я использую
WinAVR и с радостью
научу вас им пользоваться!

Для начала нужно создать
файл
MakeFile, он задаёт сценарий программе. Для этого запускаем
программу, входящую в состав
WinAVR, MFile.

У нас вылезет вот такое
окошко:

Затем нажимаем то, что
показано на картинке и выбираем имя файла с прошивкой. Я выбрал просто одну
латинскую букву «
A» и вам советую т. К. в
дальнейшем будем использовать именно это имя!

Затем выбираем
микроконтроллер, который вы используете.


Затем делаем следующее:

Затем спускаемся немножко
ниже и выбираем программатор, которым вы будете прошивать микроконтроллер (если
вы используете программатор ”пять проводков” то следует указать "
stk200”).

Затем выбираем порт,
который использует программатор (
stk200 использует
порт
ltp)

Закончив создание makeFile его
нужно сохранить, весь проект должен находиться в одной папке и на одном жестком
диске с компилятором.

Теперь закрываем программу
и открываем утилиту Programmers Notepad

Вставляем в окошечко
посередине свою программу (я вставил программу из статьи "первый проект на
микроконтроллере”) и выберем из списка язык программы, в нашем случае
C/C++

Потом сохраняем программу
в папку с созданным ранее файлом
makeFile в
расширении *.
c и с именем, указанном в makeFile как
показано на рисунке:




Затем финишная прямая!
Начинаем компилировать программу:

Если всё прошло  правильно то вы увидите вот это:

А в папке с проектом
появятся следующие файлы:

Самым главным из них будет являться .hex файл, его и следует загружать в микроконтроллер, но для WinAvr также важен файл MakeFile, он как я ранее говорил служит сценарием для программы не только при компиляции, но и при прошивке!

Удачи!

Все вопросы на Форум
Скачать: WinAvr
Категория: Роботы и программирование | Добавил: Robomir (26.02.2010)
Просмотров: 28740 | Комментарии: 10 | Теги: Компиляция программы | Рейтинг: 0.0/0
Всего комментариев: 10
10 Kast  
0
Привет всем ))) Нужна помощь ваша. У есть проект в winavr, его нужно протестировать в proteus....не получаеться?

9 Robomir  
0
Я понимаю, что CodevisionAVR лучше, но у этого больше возможностей.

8 pirsddd  
0
Да, статья - нечё, а кампилятор - га*но!

6 niko555  
0
#include <pololu/orangutan.h>

/*
* motors1: for for the Orangutan LV, SV, SVP, X2, Baby-O and 3pi robot.
*
* This example uses the OrangutanMotors functions to drive
* motors in response to the position of user trimmer potentiometer
* and blinks the red user LED at a rate determined by the trimmer
* potentiometer position. It uses the OrangutanAnalog library to measure
* the trimpot position, and it uses the OrangutanLEDs library to provide
* limited feedback with the red user LED.
*
* http://www.pololu.com/docs/0J20
* http://www.pololu.com
* http://forum.pololu.com
*/

unsigned long prevMillis = 0;

int main()
{
while(1)
{
// note that the following line could also be accomplished with:
// int pot = analogRead(7);
int pot = read_trimpot(); // determine the trimpot position
int motorSpeed = pot/2-500; // turn pot reading into number between -256 and 255
if(motorSpeed == 500)
motorSpeed = 500; // 256 is out of range
set_motors(motorSpeed, motorSpeed);

int ledDelay = motorSpeed;
if(ledDelay < 0)
ledDelay = -ledDelay; // make the delay a non-negative number
ledDelay =100-ledDelay; // the delay should be short when the speed is high

red_led(1); // turn red LED on
delay_ms(ledDelay);

red_led(0); // turn red LED off
delay_ms(ledDelay);
}
}
вот сам код,брал его из примеров,он рабочий,я хотел сделать все с нуля как на примере!


5 niko555  
0
C:\WinAVR-20100110\test/rex.c:26: undefined reference to `read_trimpot'
C:\WinAVR-20100110\test/rex.c:30: undefined reference to `set_motors'
C:\WinAVR-20100110\test/rex.c:38: undefined reference to `delay_ms'
C:\WinAVR-20100110\test/rex.c:41: undefined reference to `delay_ms'
make.exe: *** [rex.elf] Error 1

> Process Exit Code: 2
> Time Taken: 00:00
в чем может быть проблема?


7 Robomir  
0
По поводу задержки, не загружена библиотека delay.h, вызвать её так #include <util/delay.h> Если последние две ошибки пропадут нужно искать причину других, удачи!

4 Robomir  
0
Не за что)) :)

3 Cofi  
0
Спасибо большущее ))

2 Robomir  
0
Спасибо :)

1 Robotec  
0
Молодец! bravo Хорошая статья! podmig

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторизуйся!
Поиск по сайту
Мини чат
Наша кнопка
114

Статистика

____________________
 
Онлайн всего: 1
Гостей: 1
Пользователей: 0

robomir.ucoz.ru 2024
www.parkflyer.ru - радиоуправляемые модели, радиоуправляемые модели самолетов, магазин радиоуправляемых моделей
Используются технологии uCoz