С чего начать программировать микроконтроллеры?

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
beloff
Грызет канифоль
Сообщения: 278
Зарегистрирован: Чт мар 13, 2008 08:18:00
Откуда: Новосибирск, Шлюзы
Контактная информация:

Сообщение beloff »

Атмега8-16АУ - смд... сволочь! а есть не смд атмега8?
Я теперь [b][url=http://radiokot.ru/forum/memberlist.php?mode=viewprofile&u=23627]Rinon Ninqueon[/url][/b]
therian
Говорящий с текстолитом
Сообщения: 1682
Зарегистрирован: Чт окт 20, 2005 12:46:34
Контактная информация:

Сообщение therian »

есть, а вопрос этот к даташиту
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

beloff писал(а):Атмега8-16АУ - смд... сволочь! а есть не смд атмега8?

Atmega8-16PU
dmr
Поставщик валерьянки для Кота
Сообщения: 2267
Зарегистрирован: Пн ноя 10, 2008 08:12:53
Откуда: РФ

Сообщение dmr »

А этот программатор (который последовательный) прошьет любые мк? Мне нужно ATMEGA8[/quote]
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Этот - это какой именно? Те, про которые было в этой теме этот МК прошьют.
Кстати, вот мега 8, которая смд, её можно вставить в квадратную панельку? Ну там выводы подогнуть или типа того...
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Подскажите с условными операторами И и ИЛИ
Тут мне давали ссылку про язык программирования Си.
Там написано типа условный оператор И записывается вот так:
(Условие1 && Условие2)
А условный оператор ИЛИ записывается вот так:
(Условие1 || Условие2)
А у меня получилось наоборот... Там ошибка или это я что-то не так понял?
Аватара пользователя
Pippeytz
Потрогал лапой паяльник
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк
Контактная информация:

Сообщение Pippeytz »

На, почитай http://lib.ru/CTOTOR/starterkit.txt
Ну у тытча совсем чуть чуть, но для начале те хватит
http://www.123avr.com/05.htm
Полный пипеутз.
therian
Говорящий с текстолитом
Сообщения: 1682
Зарегистрирован: Чт окт 20, 2005 12:46:34
Контактная информация:

Сообщение therian »

может быть случилась самая распространенная невнимательная ошибка: использование = вместо == для сравнивания ?

потом замечал странный глюк в некоторых IDE (в визуал студии 2005) а!=б не всегда работает правильно поэтому лучьше делать так !(а==б) хоть и менее читабельно зато не врет

ну и самое последние вы используете скобки ? ((a==b)&&(c==d))
если не ошибаюсь то по стандарту нужно
Последний раз редактировалось therian Сб мар 21, 2009 10:56:07, всего редактировалось 1 раз.
Аватара пользователя
Аксель
Опытный кот
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев
Контактная информация:

Сообщение Аксель »

Pippeytz писал(а):На, почитай
............... совсем чуть чуть, но для начале те хватит


У SeregaT был вопрос который подразумевает вполне бинарный ответ: ДА / НЕТ.

А Вы ему - ссылку на руководство для идиотов.
Скелет колобка состоит из черепа.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Pippeytz писал(а):На, почитай http://lib.ru/CTOTOR/starterkit.txt

Во во. Я про эту ссылку и говорил.
ОПЕРАТОРЫ "И, ИЛИ, НЕ"



Условия могут быть сложными.

ЕСЛИ красный И вес < 10 ТО ...;
ЕСЛИ красный ИЛИ синий ТО ...;
ЕСЛИ НЕ красный ТО ...;

На языке Си такие условия записываются так:

if(условие1 && условие2) ...; /* "И" */
if(условие1 || условие2) ...; /* "ИЛИ" */
if(! условие1) ...; /* "НЕ" */


А когда я пишу:
while (!PINB.3 && !PINB.4);

или
while (PINB.3==0 && PINB.4==0);

То срабатывает, когда сигнал или на PINB.3 или на PINB.4
Но если я пишу:
while (!PINB.3 || !PINB.4);

срабатывает когда сигнал одновременно на PINB.3 и PINB.4
Последний раз редактировалось SeregaT Сб мар 21, 2009 11:15:01, всего редактировалось 4 раза.
therian
Говорящий с текстолитом
Сообщения: 1682
Зарегистрирован: Чт окт 20, 2005 12:46:34
Контактная информация:

Сообщение therian »

а почему у вас после while ; это специально а не ошибка ? тоесть это либо do while либо ждете пока оно крутится на этой строке ?

знаю глупо но попробуйте огородить все скобками
while ((!(PINB.3)) && (!(PINB.4))) бывают и такие чудеса
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Ладно, спрошу проще :)
Оператор И обозначается && или ||?

therian писал(а):а почему у вас после while ; это специально а не ошибка ? тоесть это либо do while либо ждете пока оно крутится на этой строке ?

Ну мне просто надо, чтобы в этом месте программа остановилась и ждала сигнала с указаных входов, и как только на обоих входах появится сигнал, программа выполняется дальше.
therian
Говорящий с текстолитом
Сообщения: 1682
Зарегистрирован: Чт окт 20, 2005 12:46:34
Контактная информация:

Сообщение therian »

да
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

therian писал(а):да

:shock:
А что да?
therian
Говорящий с текстолитом
Сообщения: 1682
Зарегистрирован: Чт окт 20, 2005 12:46:34
Контактная информация:

Сообщение therian »

SeregaT писал(а):Ну мне просто надо, чтобы в этом месте программа остановилась и ждала сигнала с указаных входов, и как только на обоих входах появится сигнал, программа выполняется дальше.


когда появится то станит не нулем ?
тогда все правильно работеть
while (!PINB.3 && !PINB.4);
тоесть
пока на обоих ноль то ждет потому что правда как на одном не 0 то неправда и while заканчивается

есле вы хотите чтоб програма выполнялась дальше только когда на обоих появится 1 то нужно какраз ИЛЕ

пока !PINB.3 ИЛЕ !PINB.4 правда потому что один иле оба 0 то крутись
как один становится 1 то оно продолжает крутится так как второй еще правда ну и когда на обоих 1 то заканчивается так как вывернуто это неправда

вот дежавю, помню тоже по полночи не мог понять что творится, вывернутая логика :)
Последний раз редактировалось therian Сб мар 21, 2009 11:41:01, всего редактировалось 2 раза.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

А, теперь понял...
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

SeregaT писал(а):Есть у меня ЖКИ - WHC0802B-NGA-CT
Хочу попробовать подключить его к микро контроллеру, но понятия не имею с чего начать.

Вот подробное описание подключения и программирования таких LCD c контроллером совместимым с hd44780. А так же работа с USART AVR на Си - прием и передача данных очень подробно.

therian писал(а):while (!PINB.3 && !PINB.4);


Я советую скобок не жалеть:

Код: Выделить всё

while ((!PINB.3) && (!PINB.4));
Последний раз редактировалось ikarab Чт мар 26, 2009 19:26:26, всего редактировалось 1 раз.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Как прописать задержку не в мили секундах (delay_ms) а в микросекундах?
delay_mks не канает.
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

delay_us - курить справку :wink:
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

1. Народ, научите писать заголовочные файлы на код. На CodeVisionAVR.
2.В этой программе можно писать код на ассемблере?
Простенькие схемы уже понял как делать, сегодня буду проект делать.
3.и еще. Вот я нажал шифт+ф9. Он мне выдает такую таблицу (там ошибки всякие).
4.Куда файл компилируется?
5.И если компилируется, то на всех расширениях?
Там на Хекс, С, ....
6.Какой язык лучше для программирования - СИ или ассемблер? Прошу ответить на этот вопрос профессионалов... :oops:
А то я не могу определиться... :oops:
Помогите, плиз...


7.Но лучше пока научите выставлять заголовочные файлы.






8. Когда я расставил и настроил порты для ввода и вывода, что там за 0,1, Т, что они означают?
Можно ли в процессе написания кода изменить назначения портов?(ввод - вывод).
Когда я все сделал в настройках контролера, надо сгенерировать код. я его сгенерировал, там надо что то сохранить три раза, и появляется в окне сгенерированный код. что с ним делать?
Не умеешь - не берись, но не взявшись не научишься...
Ответить

Вернуться в «Теория»