Страница 491 из 628

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт мар 13, 2014 17:39:51
urry

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

 Когда вывод вход, он не должен меняться от записи в PORTB.
когда пристегиваются или отстегиваются встроенные резисторы подтяжки, что происходит ? Думаю, то, что вы наблюдаете на выводе.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт мар 13, 2014 18:05:43
Alexeyslav
А посмотри внимательно структурную схему выходного порта в даташите на контроллер, многие вопросы сразу отпадают.
Делается это чтобы манипуляции не влияли на выход, за то время как программа будет решать 1 или 0 должен быть на выходе ШИМа в данном такте на выводе контроллера будет удерживаться уровень по инерции. Хотя, по хорошему эту операцию достаточно буферизировать - менять внутреннюю переменную, а потом её за один раз выводить в порт. И не нужны будут всякие подобные шаманства.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт мар 14, 2014 12:31:24
baron_P
Спасибо.
О логике работы я судил по этой картинке:
СпойлерИзображение
Когда выводы порта B объявлены как входы, в PORTB можно записать 1, что включит подтягивающие резисторы. Если к выводам ничего не подцеплено, на PINB должны появиться 1. Если записать при этом в PORTB 0, то выводы будут висеть в воздухе и непонятно, что будет в PINB. Если к порту В подцепить катоды светодиодов, подав на аноды питание, то в первом случае светодиоды гореть не будут. И во втором тоже, т.к. тока нет.
Когда выводы порта В объявлены как выходы, в PORTВ можно записать 1, и в PINB появится 1. Если записать 0, то и в PINB появится 0. Если к порту В подцепить катоды светодиодов, подав на аноды питание, то в первом случае светодиоды гореть не будут. А во втором должны загореться, т.к. будут посажены на землю.
По моему так должно работать.
А тут же получается что-то другое. При обявленнии выводов входами всегда в PINB висят нули, и при записи в PORTB нулей загораются светодиоды. Я не пойму, почему так.
Делается это чтобы манипуляции не влияли на выход, за то время как программа будет решать 1 или 0 должен быть на выходе ШИМа в данном такте на выводе контроллера будет удерживаться уровень по инерции. Хотя, по хорошему эту операцию достаточно буферизировать - менять внутреннюю переменную, а потом её за один раз выводить в порт. И не нужны будут всякие подобные шаманства.
Это фраза объясняет структуру программы в виде: объявили порт выходом, записали нужное значение, объявили входом, чтоб чего лишнего не записалось. Я правильно понял? Нет, не правильно :idea: Объявляем выводы входами, записываем в PORTB сначала какие-то промежуточные значения, потом то, что должно быть выведено на него. Объявляем выводы выходами и на них тут же появляется уже находящиеся в PORTB значения. Между двумя объявлениями фактические значения на выводах не меняются, потому и PINB не меняется. Вроде дошло. Еще раз спасибо.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб мар 15, 2014 19:05:17
Mem
Как исправить эти фьюзы?

Изображение

Понятно что Mega 16 теперь от внешнего кварца, но какого? Пробовал разные, не определяется. Сигнатура 0х000000, в остальном пишет что готово к работе. Один раз завелась от 8 МГц, я затер флеш и еепром, после этого опять перестало работать.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб мар 15, 2014 19:23:55
ua1arn
low freq - 32768 герц, часовой.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб мар 15, 2014 19:50:45
Mem
Спасибо, на 12 и 13 ногу же? Мегу я не запорол? Лок биты не трогал.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб мар 15, 2014 21:23:35
Alexeyslav
У вас стоит низкочастотный кварц... но эта низкочастотность заключается только в настройке крутизны фронта выходе генератора, не обращайте внимания просто на XTALL1 подайте 1Мгц с какого-либо генератора, возможно понадобится снижение скорости программирования т.к. я не вижу опцию CKDIV8, она может быть установлена.

И если ты лок-биты не трогал, то почему они УСТАНОВЛЕНЫ?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс мар 16, 2014 02:08:08
Mem
Ну как считал так и оставил. Трогал только Hing and Low bit's.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс мар 16, 2014 09:43:08
Web
Здраствуйте! У меня дисплей WH1602D, управляется он PIC16F887. При этом на правой половине экрана символы отображаются хорошо, а на левой - либо слегка заметны, либо совсем не видны. Если контрастность на максимуме, то все ячейки подсвечиваются.
Изображение

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс мар 16, 2014 13:05:07
Alexeyslav
Дефект дисплея. это не программное.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс мар 16, 2014 16:47:23
Mem
А кварц на 1 МГц нормально будет? Генератора не найти.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн мар 17, 2014 02:11:15
Alexeyslav
Если кварц ставить, то надо полагаться на установленный режим работы... а это фиг знает еще от кварца может зависеть и от емкостей, проще подать готовую частоту, например с генератора выпаянного с материнки. И если подавать низкую частоту(она может быть еще и поделена на 8) надо быть готовым к тому что программатор может оказаться шустрым и получишь отворот-поворот.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пн мар 17, 2014 11:35:12
Mem
Программатор USBASP, в программе можно выбирать частоту программирования.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вт мар 18, 2014 23:43:46
Morroc
если интересует больше результат, чем процесс (в плане разлочить мегу) - проще собрать atmega fusebit doctor, у меня получился такой (светодиод двухцветный)

Изображение

к нему цепляется мк, включаем и ждем какая лампочка загорится, если зеленая - чип сбросился в "заводские настройки"

тут на русском есть http://www.getchip.net/posts/059-isprav ... it-doctor/ да и на радиокоте тоже можно найти про него

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Ср мар 19, 2014 12:05:12
Mem
Хорошее устройство, спасибо. Но сначала попробую кварц или где-то генератор найти, просто меги8 в дип нет. Платку придется делать.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт мар 21, 2014 10:46:46
DJ_Kiridza
Всем привета.
Подскажите очень простой вопрос: если у меня две лапки АТМеги соеденены между собой и обе работают на "ВЫХОД", допустим это PORTD0 и PORTD1, и при этой на одной 0 на второй 1:
CBI PORTD,0
SBI PORTD,1
(nop для синхронизации порта)
Если я потом послушаю PIND1 - то получу там 0?
Просто не охота для однократного "ввода" переключать порт туда/сюда + подтягивающие резисторы...

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт мар 21, 2014 10:52:29
Gudd-Head
DJ_Kiridza писал(а):две лапки АТМеги соеденены между собой
Эээ... А зачем?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт мар 21, 2014 10:59:45
pyzhman

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

CBI PORTD,0
SBI PORTD,1
И по железу соединены. КЗ?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт мар 21, 2014 11:37:22
Engineer_Keen
Если оба DDR отключены, то на PIND1 будет 0, т.к. к нулю порт притягивается ключом напрямую, а к VCC через встроенный резистор.
Если там в обоих DDR0 и DDR1 по "1", то да, это КЗ, и что там будет на PIND1 - это как повезет. Если выставить разные уровни всего на несколько тактов или сразу отключить DDR, то может порт и не сгорит, а если так и оставить, то сгорит однозначно.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт мар 21, 2014 12:01:50
DJ_Kiridza
В описании я сильно упростил задачу, что б не распылять внимание.
На самом деле между лапками кнопка. PODRD0 всегда 1, PORD1 работает как обычный "Выход", когда нужно 0 когда нужно 1. Иногда мне нужно опросить кнопку между этими лапками. В таком случае подаем на PODRD1 - 1, на PODRD0 - 0 и слушаем PIND1. чисто логически - резистор к VCC сработает как подтяжка, а логический 0 с PODRD0 "продавит" эту подтяжку, и на PIND1 должен появится лог.0. Сразу просле прослушки PIND1 в PODRD0 отправляется 1 и уже через 1 такт все будет в порядке. Никакого КЗ не должно быть, так как там резистор от 20К до 50К.
Я так понял, никто так не заморачивался? Я думал, регистры PINх для того и созданы, что бы читать из них значения "напрямую", не переключая DDRx и PORTx ?...