Пишем прогу для МК AVR в он-лайн

 
RU termostat #06.03.2004 16:12
+
-
edit
 

termostat

аксакал

Этот топик предназначен только для одного мероприятия. Состоится оно при любой погоде, по предварительным данным 10 марта 2004 года с 20 до 21 часа Московского времени! (Если время не подходит предлагайте свое!)

Желающие принять участие, пожалуйста, сообщайте сюда или в личном сообщении.

Цель мероприятия:

Я хочу показать ПЕРВЕЙШИЕ шаги создания программы для МикроКонтроллера - само устройство ДатаЛогер обсуждается в топике: "007 micro" регистратор данных"

Надеюсь участники мероприятия смогут увидеть появление на "белом листе" первых строчек программы, и если что-то будет не понятно, то смогут сразу задать вопросы и осознано воспринимать дальнейшее посторонние программы для МК.

Не обязательно весь час связь держать, достаточно раз в 3-5 минут заходить да обновлять страничку, и до следующего сеанса связи читать написанное, анализировать сделанное, сформулировать и вопросы, и задать их при следующем конекте.


Желающим принять участие в мероприятии, кроме удачи, пожелаю поштудировать мой курс: avr123.by.ru до задач и особенно почитать задачи курса 3 4 и 5 (а лучше и 1 и 2 еще). Вопросы сразу фиксируйте и затем направляйте мне. Не оставляйте без ответа то что вам не ясно.

Еще понадобится ДатаШит на МК AVR at90s8535 (http://www.atmel.com/dyn/resources/prod_documents/DOC1041.PDF) с распечатанной страничкой "Регистрс саммери". И факультативно: представление об акселерометре ADXL150 от Analog.com и датчиков давления Моторола: MPX4100 MPX4115 - что они дают на выходе - т.е. тоже ДШ проштудировать.

Жду желающих …

+
-
edit
 

Serge77

модератор

Я готов. Для меня было бы удобнее с 21 до 22 (мск), но согласен и на указанное время.
RU termostat #06.03.2004 19:19
+
-
edit
 

termostat

аксакал

Выложил Курс по МК AVR - одним файлом

Форумы Авиабазы

для офф-лайн чтения.

На стр. 17 топика "Курс: программирование МК AVR "с нуля"



Это сообщение редактировалось 09.03.2004 в 17:43
RU termostat #10.03.2004 20:03
+
-
edit
 

termostat

аксакал

Благодарю всех почтивших данное мероприятие вниманием!

В Москве 20-00 мы можем начать.

Чуда не обещаю, просто постараюсь показать как писать прогу для МК на Си.

Не оставляйте "белых пятен" - формулируйте свои вопросы и задавайте
здесь если, что то из происходящего не понятно.

Постараюсь ответить.

Устройство 007 и кратко алгоритм его работы описаны здесь:

Форумы Авиабазы

Этот алгоритм мы попытаемся переложить на язык понятный компилятору.

///////////////////////

Где взять компилятор Си для AVR CodeVision и как его правильно
установить описано в прикрепленном файле.

Где взять Эмулятор МК AVR - VMLAB было сообщено в топике "Курс МК ..."

Сейчас они не понадобятся!

///////////////////////


Программ будет сопровождаться коментариями:

В Си есть два типа коментариев:

1) /* комент. /
2) // комент.

/
между такими знаками удобно писать комментарии не
ограниченой длины и на произвольном количестве строк

строки можно пропускать */

// после двух черточек пишутся коментарии только в одну строчку



///////////////////////

В Си нет нумерации строк как в Бэйсике например, в компиляторе CodeVision
есть с лева нумерация строчек не включаемая в файл программы.

Нам нумерация будет полезна чтоб можно было указать о каком
месте программы идет речь.

Давайте для нумерации использовать Лэйблы - метки инструкции goto

///////////////////////

_lable: // Метка должна начинаться с буквы или подчеркивания,
// заканчиваться : На строчку программы с этой меткой мы
// попадем после выполнения инструкции goto _lable;


goto _lable; // перейти на строчку програмы с меткой _lable

///////////////////////

Нумерция будет такой:

_00100: // Метки без соотв goto при компиляции просто

_00200: // вызовут Вонинги - предупреждения.

_00300:

_00400:

_01320:

соответственно в вопросах и пояснениях будем указывать: "в строке 1320 ..."

.......................................


Программу я буду писать в топике "текст программы 007" в одном сообщении,
постоянно обновляя его редактированием.
Возможно с увеличением текста программы я добавлю сообщения.

Не делайте постингов ТАМ пожалуйста!

Вопросы и ответы здесь!!!


Смотрите, читайте "текст программы 007" и спрашивайте... здесь.

///////////////////////

Прикреплённые файлы:
CV.zip (скачать) [29 кБ]
 
 
+
-
edit
 

Demonos

втянувшийся
20.03
Может сначала просто определим как организовать устройство, где если на один вход подаётся напряжение, с одного выхода поступает серия импульсов длительностью в 1с и таким же интервалом?
Кажется для чайников, вроде меня, это будет проще, к тому же на этом устройстве можно организовать всё от таймера, до включения камеры после апогея.
 
RU termostat #10.03.2004 20:08
+
-
edit
 

termostat

аксакал

Я попросил час внимания и хочу предложить свой метод - мы не будем сечас рассматривать МК какие ноги какие сигналы, поверь мы напишем программу, а потом привяжем ее.
+
-
edit
 

Demonos

втянувшийся
всё,всё, не лезу. слушаю.
 
+
-
edit
 
RU termostat #10.03.2004 20:09
+
-
edit
 
RU termostat #10.03.2004 20:13
+
-
edit
 
+
-
edit
 

Serge77

модератор

> Как прочитываете - подгоняйте меня!

Да прочитать-то недолго. Пока вопросов нет.
RU termostat #10.03.2004 20:23
+
-
edit
 
+
-
edit
 

Andrei

новичок

Пожалуйста, остановись потом поподробнее как включать фрагменты ассемблерного текста
 
RU termostat #10.03.2004 20:26
+
-
edit
 
+
-
edit
 

Serge77

модератор

termostat, 10.03.2004 19:23:59 :
Сергей! не все же проделали задачи курса как ты.
 


Так я ж не возражаю, я смирно читаю ;^))
+
-
edit
 

Demonos

втянувшийся
Извините, если задерживаю.
А что есть */прототипы функций
 
+
-
edit
 

Serge77

модератор

флаг - это вроде 1 бит. Значит можно переменную go_get_data как-то приравнять к этому биту?
+
-
edit
 

Andrei

новичок

Как я понимаю, это - флаг переполнения таймера по сути
 
RU termostat #10.03.2004 21:04
+
-
edit
 

termostat

аксакал

Serge77, 10.03.2004 20:52:06 :
флаг - это вроде 1 бит. Значит можно переменную go_get_data как-то приравнять к этому биту?
 


не успеваю отвечать, я написал - привяжем дефайном.
RU termostat #10.03.2004 21:05
+
-
edit
 

termostat

аксакал

Demonos, 10.03.2004 20:26:58 :
Извините, если задерживаю.
А что есть */прототипы функций
 


Это просто их пересичления для удобства чтения программы. будет позже!
+
-
edit
 

Andrei

новичок

Функция go_get_data, или в данном случае флаг, как результат выполнения данной функции, где-то должна быть определена как настройка таймера на требуемый интервал, запуск таймера и ожидание его переполнения

Что меня смущает здесь, это то, что во время этой паузы при данном написании машинка ничего другого не делает как ждет. А ведь могла бы производить вычисления и т.п.
 
+
-
edit
 

Serge77

модератор

Andrei, 10.03.2004 20:08:26 :
Что меня смущает здесь, это то, что во время этой паузы при данном написании машинка ничего другого не делает как ждет. А ведь могла бы производить вычисления и т.п.
 


Могла бы, если было бы нужно. Но нам вроде нечего вычислять. Ведь устройство - только для сохранения данных, т.е. чёрный ящик.
RU termostat #10.03.2004 21:14
+
-
edit
 

termostat

аксакал

Andrei, 10.03.2004 21:08:26 :
Функция go_get_data, или в данном случае флаг, как результат выполнения данной функции, где-то должна быть определена как настройка таймера на требуемый интервал, запуск таймера и ожидание его переполнения
 


go_get_data - это не функция, так мы назовем в начале программы флаг по прерыванию таймера:

#define go_get_data бит.флаг.таймера (я не помню как он называется)
+
-
edit
 

Andrei

новичок

А для чего круглые скобки после функции, например в blink_led(fast). Или это просто по сути расширение имени функции?
 
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

Serge77

модератор

termostat, 10.03.2004 20:14:19 :
#define go_get_data бит.флаг.таймера
 


Красиво!

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru