Страница 26 из 115

Добавлено: Сб мар 21, 2009 05:36:03
beloff
Атмега8-16АУ - смд... сволочь! а есть не смд атмега8?

Добавлено: Сб мар 21, 2009 06:29:14
therian
есть, а вопрос этот к даташиту

Добавлено: Сб мар 21, 2009 07:21:32
SeregaT
beloff писал(а):Атмега8-16АУ - смд... сволочь! а есть не смд атмега8?

Atmega8-16PU

Добавлено: Сб мар 21, 2009 07:31:37
dmr
А этот программатор (который последовательный) прошьет любые мк? Мне нужно ATMEGA8[/quote]

Добавлено: Сб мар 21, 2009 08:26:25
SeregaT
Этот - это какой именно? Те, про которые было в этой теме этот МК прошьют.
Кстати, вот мега 8, которая смд, её можно вставить в квадратную панельку? Ну там выводы подогнуть или типа того...

Добавлено: Сб мар 21, 2009 09:37:44
SeregaT
Подскажите с условными операторами И и ИЛИ
Тут мне давали ссылку про язык программирования Си.
Там написано типа условный оператор И записывается вот так:
(Условие1 && Условие2)
А условный оператор ИЛИ записывается вот так:
(Условие1 || Условие2)
А у меня получилось наоборот... Там ошибка или это я что-то не так понял?

Добавлено: Сб мар 21, 2009 10:01:05
Pippeytz
На, почитай http://lib.ru/CTOTOR/starterkit.txt
Ну у тытча совсем чуть чуть, но для начале те хватит
http://www.123avr.com/05.htm

Добавлено: Сб мар 21, 2009 10:38:54
therian
может быть случилась самая распространенная невнимательная ошибка: использование = вместо == для сравнивания ?

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

ну и самое последние вы используете скобки ? ((a==b)&&(c==d))
если не ошибаюсь то по стандарту нужно

Добавлено: Сб мар 21, 2009 10:53:44
Аксель
Pippeytz писал(а):На, почитай
............... совсем чуть чуть, но для начале те хватит
У SeregaT был вопрос который подразумевает вполне бинарный ответ: ДА / НЕТ.

А Вы ему - ссылку на руководство для идиотов.

Добавлено: Сб мар 21, 2009 11:02:01
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

Добавлено: Сб мар 21, 2009 11:11:54
therian
а почему у вас после while ; это специально а не ошибка ? тоесть это либо do while либо ждете пока оно крутится на этой строке ?

знаю глупо но попробуйте огородить все скобками
while ((!(PINB.3)) && (!(PINB.4))) бывают и такие чудеса

Добавлено: Сб мар 21, 2009 11:17:01
SeregaT
Ладно, спрошу проще :)
Оператор И обозначается && или ||?
therian писал(а):а почему у вас после while ; это специально а не ошибка ? тоесть это либо do while либо ждете пока оно крутится на этой строке ?
Ну мне просто надо, чтобы в этом месте программа остановилась и ждала сигнала с указаных входов, и как только на обоих входах появится сигнал, программа выполняется дальше.

Добавлено: Сб мар 21, 2009 11:21:54
therian
да

Добавлено: Сб мар 21, 2009 11:25:00
SeregaT
therian писал(а):да
:shock:
А что да?

Добавлено: Сб мар 21, 2009 11:29:52
therian
SeregaT писал(а): Ну мне просто надо, чтобы в этом месте программа остановилась и ждала сигнала с указаных входов, и как только на обоих входах появится сигнал, программа выполняется дальше.
когда появится то станит не нулем ?
тогда все правильно работеть
while (!PINB.3 && !PINB.4);
тоесть
пока на обоих ноль то ждет потому что правда как на одном не 0 то неправда и while заканчивается

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

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

вот дежавю, помню тоже по полночи не мог понять что творится, вывернутая логика :)

Добавлено: Сб мар 21, 2009 11:31:33
SeregaT
А, теперь понял...

Добавлено: Сб мар 21, 2009 12:47:03
ikarab
SeregaT писал(а):Есть у меня ЖКИ - WHC0802B-NGA-CT
Хочу попробовать подключить его к микро контроллеру, но понятия не имею с чего начать.
Вот подробное описание подключения и программирования таких LCD c контроллером совместимым с hd44780. А так же работа с USART AVR на Си - прием и передача данных очень подробно.
therian писал(а):while (!PINB.3 && !PINB.4);
Я советую скобок не жалеть:

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

while ((!PINB.3) && (!PINB.4));

Добавлено: Вс мар 22, 2009 13:07:21
SeregaT
Как прописать задержку не в мили секундах (delay_ms) а в микросекундах?
delay_mks не канает.

Добавлено: Вс мар 22, 2009 13:21:57
sema
delay_us - курить справку :wink:

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


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






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