С чего начать программировать микроконтроллеры?
Атмега8-16АУ - смд... сволочь! а есть не смд атмега8?
Я теперь [b][url=http://radiokot.ru/forum/memberlist.php?mode=viewprofile&u=23627]Rinon Ninqueon[/url][/b]
- Реклама
- Сообщения: 1682
- Зарегистрирован: Чт окт 20, 2005 12:46:34
beloff писал(а):Атмега8-16АУ - смд... сволочь! а есть не смд атмега8?
Atmega8-16PU
Этот - это какой именно? Те, про которые было в этой теме этот МК прошьют.
Кстати, вот мега 8, которая смд, её можно вставить в квадратную панельку? Ну там выводы подогнуть или типа того...
Кстати, вот мега 8, которая смд, её можно вставить в квадратную панельку? Ну там выводы подогнуть или типа того...
- Реклама
Подскажите с условными операторами И и ИЛИ
Тут мне давали ссылку про язык программирования Си.
Там написано типа условный оператор И записывается вот так:
(Условие1 && Условие2)
А условный оператор ИЛИ записывается вот так:
(Условие1 || Условие2)
А у меня получилось наоборот... Там ошибка или это я что-то не так понял?
Тут мне давали ссылку про язык программирования Си.
Там написано типа условный оператор И записывается вот так:
(Условие1 && Условие2)
А условный оператор ИЛИ записывается вот так:
(Условие1 || Условие2)
А у меня получилось наоборот... Там ошибка или это я что-то не так понял?
На, почитай http://lib.ru/CTOTOR/starterkit.txt
Ну у тытча совсем чуть чуть, но для начале те хватит
http://www.123avr.com/05.htm
Ну у тытча совсем чуть чуть, но для начале те хватит
http://www.123avr.com/05.htm
Полный пипеутз.
- Сообщения: 1682
- Зарегистрирован: Чт окт 20, 2005 12:46:34
может быть случилась самая распространенная невнимательная ошибка: использование = вместо == для сравнивания ?
потом замечал странный глюк в некоторых IDE (в визуал студии 2005) а!=б не всегда работает правильно поэтому лучьше делать так !(а==б) хоть и менее читабельно зато не врет
ну и самое последние вы используете скобки ? ((a==b)&&(c==d))
если не ошибаюсь то по стандарту нужно
потом замечал странный глюк в некоторых IDE (в визуал студии 2005) а!=б не всегда работает правильно поэтому лучьше делать так !(а==б) хоть и менее читабельно зато не врет
ну и самое последние вы используете скобки ? ((a==b)&&(c==d))
если не ошибаюсь то по стандарту нужно
Последний раз редактировалось therian Сб мар 21, 2009 10:56:07, всего редактировалось 1 раз.
У SeregaT был вопрос который подразумевает вполне бинарный ответ: ДА / НЕТ.Pippeytz писал(а):На, почитай
............... совсем чуть чуть, но для начале те хватит
А Вы ему - ссылку на руководство для идиотов.
Скелет колобка состоит из черепа.
Во во. Я про эту ссылку и говорил.Pippeytz писал(а):На, почитай http://lib.ru/CTOTOR/starterkit.txt
А когда я пишу:ОПЕРАТОРЫ "И, ИЛИ, НЕ"
Условия могут быть сложными.
ЕСЛИ красный И вес < 10 ТО ...;
ЕСЛИ красный ИЛИ синий ТО ...;
ЕСЛИ НЕ красный ТО ...;
На языке Си такие условия записываются так:
if(условие1 && условие2) ...; /* "И" */
if(условие1 || условие2) ...; /* "ИЛИ" */
if(! условие1) ...; /* "НЕ" */
илиwhile (!PINB.3 && !PINB.4);
То срабатывает, когда сигнал или на PINB.3 или на PINB.4while (PINB.3==0 && PINB.4==0);
Но если я пишу:
срабатывает когда сигнал одновременно на PINB.3 и PINB.4while (!PINB.3 || !PINB.4);
Последний раз редактировалось SeregaT Сб мар 21, 2009 11:15:01, всего редактировалось 4 раза.
- Сообщения: 1682
- Зарегистрирован: Чт окт 20, 2005 12:46:34
а почему у вас после while ; это специально а не ошибка ? тоесть это либо do while либо ждете пока оно крутится на этой строке ?
знаю глупо но попробуйте огородить все скобками
while ((!(PINB.3)) && (!(PINB.4))) бывают и такие чудеса
знаю глупо но попробуйте огородить все скобками
while ((!(PINB.3)) && (!(PINB.4))) бывают и такие чудеса
Ладно, спрошу проще 
Оператор И обозначается && или ||?
Оператор И обозначается && или ||?
Ну мне просто надо, чтобы в этом месте программа остановилась и ждала сигнала с указаных входов, и как только на обоих входах появится сигнал, программа выполняется дальше.therian писал(а):а почему у вас после while ; это специально а не ошибка ? тоесть это либо do while либо ждете пока оно крутится на этой строке ?
- Сообщения: 1682
- Зарегистрирован: Чт окт 20, 2005 12:46:34
- Сообщения: 1682
- Зарегистрирован: Чт окт 20, 2005 12:46:34
когда появится то станит не нулем ?SeregaT писал(а): Ну мне просто надо, чтобы в этом месте программа остановилась и ждала сигнала с указаных входов, и как только на обоих входах появится сигнал, программа выполняется дальше.
тогда все правильно работеть
while (!PINB.3 && !PINB.4);
тоесть
пока на обоих ноль то ждет потому что правда как на одном не 0 то неправда и while заканчивается
есле вы хотите чтоб програма выполнялась дальше только когда на обоих появится 1 то нужно какраз ИЛЕ
пока !PINB.3 ИЛЕ !PINB.4 правда потому что один иле оба 0 то крутись
как один становится 1 то оно продолжает крутится так как второй еще правда ну и когда на обоих 1 то заканчивается так как вывернуто это неправда
вот дежавю, помню тоже по полночи не мог понять что творится, вывернутая логика
Последний раз редактировалось therian Сб мар 21, 2009 11:41:01, всего редактировалось 2 раза.
- Сообщения: 828
- Зарегистрирован: Пн мар 16, 2009 21:40:57
Вот подробное описание подключения и программирования таких LCD c контроллером совместимым с hd44780. А так же работа с USART AVR на Си - прием и передача данных очень подробно.SeregaT писал(а):Есть у меня ЖКИ - WHC0802B-NGA-CT
Хочу попробовать подключить его к микро контроллеру, но понятия не имею с чего начать.
Я советую скобок не жалеть:therian писал(а):while (!PINB.3 && !PINB.4);
Код: Выделить всё
while ((!PINB.3) && (!PINB.4));
Последний раз редактировалось ikarab Чт мар 26, 2009 19:26:26, всего редактировалось 1 раз.
Как прописать задержку не в мили секундах (delay_ms) а в микросекундах?
delay_mks не канает.
delay_mks не канает.
delay_us - курить справку 
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
1. Народ, научите писать заголовочные файлы на код. На CodeVisionAVR.
2.В этой программе можно писать код на ассемблере?
Простенькие схемы уже понял как делать, сегодня буду проект делать.
3.и еще. Вот я нажал шифт+ф9. Он мне выдает такую таблицу (там ошибки всякие).
4.Куда файл компилируется?
5.И если компилируется, то на всех расширениях?
Там на Хекс, С, ....
6.Какой язык лучше для программирования - СИ или ассемблер? Прошу ответить на этот вопрос профессионалов...
А то я не могу определиться...
Помогите, плиз...
7.Но лучше пока научите выставлять заголовочные файлы.
8. Когда я расставил и настроил порты для ввода и вывода, что там за 0,1, Т, что они означают?
Можно ли в процессе написания кода изменить назначения портов?(ввод - вывод).
Когда я все сделал в настройках контролера, надо сгенерировать код. я его сгенерировал, там надо что то сохранить три раза, и появляется в окне сгенерированный код. что с ним делать?
2.В этой программе можно писать код на ассемблере?
Простенькие схемы уже понял как делать, сегодня буду проект делать.
3.и еще. Вот я нажал шифт+ф9. Он мне выдает такую таблицу (там ошибки всякие).
4.Куда файл компилируется?
5.И если компилируется, то на всех расширениях?
Там на Хекс, С, ....
6.Какой язык лучше для программирования - СИ или ассемблер? Прошу ответить на этот вопрос профессионалов...
А то я не могу определиться...
Помогите, плиз...
7.Но лучше пока научите выставлять заголовочные файлы.
8. Когда я расставил и настроил порты для ввода и вывода, что там за 0,1, Т, что они означают?
Можно ли в процессе написания кода изменить назначения портов?(ввод - вывод).
Когда я все сделал в настройках контролера, надо сгенерировать код. я его сгенерировал, там надо что то сохранить три раза, и появляется в окне сгенерированный код. что с ним делать?
Не умеешь - не берись, но не взявшись не научишься...


