Страница 130 из 400

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Чт май 03, 2012 03:40:53
sinobi
DX168B,Jack_A -Огромное спасибо за помощь-Добился того что надо!

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пн май 07, 2012 17:18:48
MS24
Ребят, не могу понять, при повторной отправки по UART флаг UDRE0 не устанавливается в единцу, подскажите пожалуйста в чем проблема?
Код приложил

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пн май 07, 2012 19:15:43
Gudd-Head
Для начала, откуда вы знаете что именно при повторной отправке?
И что должна делать ваша прога?

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пн май 07, 2012 20:22:41
Alexeyslav
Порадовало

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

init:
sei
разрешать прерывания нужно только ПОСЛЕ инициализации а не в начале, особенно до установки стека.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пн май 07, 2012 22:07:08
MS24
Я отлаживаю в виртуальном отладчике AVR studio 5, для примера взял стандартный код, еоторый тоже приведу ниже. В отладчике, отправляется первый байт, когда я повторно захожу в подпрограмму отправки, флаг UDRE не поднимается больше. Я думаю, что это баг отладчика ar studio, или я что-то натупил? Объясните пожалуйста, уже 7 час не могу понять!

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пн май 07, 2012 22:34:17
Alexeyslav
А ты когда повторно передаешь, проверяешь готовность передатчика? Перед передачей надо сначала дождаться передачи предыдущего.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пн май 07, 2012 22:44:27
ILYAUL
MS24 писал(а):Я отлаживаю в виртуальном отладчике AVR studio 5, для примера взял стандартный код, еоторый тоже приведу ниже. В отладчике, отправляется первый байт, когда я повторно захожу в подпрограмму отправки, флаг UDRE не поднимается больше. Я думаю, что это баг отладчика ar studio, или я что-то натупил? Объясните пожалуйста, уже 7 час не могу понять!
Для начала надо зайти в руководство пользователя для 5 STUDIO и посмотреть , а вообще симмулятор ( дерьмо изначально) поддерживает ли USART для mega128/ Скорее всего нет.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Ср май 09, 2012 12:14:20
DX168B
у меня небыло проблем с UARTом в симуляторе студии, а вот с SPI в TINY26 были. там флаг не сбрасывался.
в итоге, приходилось переопределять метку на пустышку, чтобы можно было хотя бы остальное отладить. а потом вернуть подпрограмму передачи /приема и отладить в железе.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 18:15:06
Челюскин
Господа, вопрос простейший, это скорей всего что-то я туплю сильно... Если порт контроллера настроен на ВЫВОД и в какой-нить разряд мы запишем единицу, её потом можно прочитать? порт в состоянии вывода можно прочитать вообще? :?

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 18:28:23
Gudd-Head
В общем случае можно. Но если физически порт у вас соединён с "нулём", а вы в него запишите "1", то рискуете прочитать из него "0", а не "1". За более подробной информацией — в ДШ.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 18:32:42
Челюскин
спасибо за быстрый ответ. сижу вот думаю как клаву 3*4 подключить к порту, вот и вопросы возникают такие.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 19:26:27
pyzhman
3 бита на вывод, 4 на вход. И сканируйте сколько влезет. Развязать диодами, чтобы на самом деле "1" не провалилась в "0".

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 22:18:25
Челюскин
Тогда вот что спрошу:

1.какая по времени развязка (пауза) должна быть между переключением столбцов?
2.как полученные коды (их я понимаю будет 3 по числу столбцов) сопоставить с состоянием клавиатуры?

p.s. если есть у кого схема с развязкой на диодах покажите пожалуйста. погуглил, прежде чем спросить, хотелось бы увидеть как на практике что куда паять, а то понавешано там много чего, и подтяжки всякие и диоды...

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 22:25:07
pyzhman
1. Порядка 10 мсек для устранения дребезга.
2. На бумажке разрисуйте и все станет на свои места. В том числе в уме разложится по полочкам.
Диоды расставьте так, чтобы при нажатии одновременном двух и более кнопок не получалось КЗ в цепях портов.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 22:29:36
Челюскин
Разрисовал уже все, даже коды состояния в таблицу записал - систему искал, блин!!!(о какой я :facepalm: ) по диодам поясните подробнее...

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 22:41:30
pyzhman
Изображение
Инпуты подтянуты к питанию внутренними резюками.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Пт май 11, 2012 22:51:29
Челюскин
pyzhman писал(а):3 бита на вывод, 4 на вход. И сканируйте сколько влезет. Развязать диодами, чтобы на самом деле "1" не провалилась в "0".
согласно Вашей схеме, может наоборот??? или я чего-то не понимаю.....

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Сб май 12, 2012 00:16:32
Alexeyslav
Вместо кнопок расположи на плате дорожки столбцами и строками, переводишь порт в режим вывода записываешь "0" ждешь пару мкс, устанавливаешь подтягивающий резистор для порта переводишь его в режим ввода и измеряешь время когда порт перейдет в "1" это будут десятки микросекунд. Так работает емкостная сенсорная клавиатура, те линии где время установления "1" будет больше - там есть "нажатие". перебирая строки и столбцы можно определить точки пересечения и тем самым номер нажатой кнопки.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Сб май 12, 2012 12:57:38
DX168B
Резистивник еще круче работает. Один источник тока, четыре резистора, два фильтра (RC или LC) и два АЦП. Данные из АЦП являются координатами точки прикосновения. :)

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Добавлено: Сб май 12, 2012 18:51:19
ILYAUL
Один АЦП mega Pic Tiny в состоянии обработать 32 кнопки по одному каналу. Нафинг нужны эти матрицы и такое количество используемых выводов , аж 7 шт.