Easyelectronics.ru

Электроника для всех
Текущее время: 21 ноя 2019, 04:11

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 00:50 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 6026
Короч, повел себя этот МК некоторым неожиданным образом.
Для изучения ситуации был сляпан тестовый макет с всего двумя подключениями: по светодиоду с резисторами на RA0 и RA1, до +5V. Так что низкий уровень на выходе зажигает светодиод.

Проверялось моргание диодов.
При следующей настройке:
CMCON = %11111111
TRISA = %11111100
PORTA = %11111111
всё нормально: RA1 моргает, RA0 -не горит, к нему нету дальнейших обращений в программе, и на ножке постоянно висит заданная единичка.

Но если убираем строчку CMCON, (он остается после начального сброса равным нулю), то RA0 зажигается и горит непрерывно.
- Почему?

CMCON = 0 вызывает подключение компараторов к ножкам, как следует из даташита. Но ведь это ВХОДЫ компараторов, как им удается занулить ножку?
Поясните мне пожалуйста, чего я недопонял в железе?

ЗЫ:
Та же прошивка, запущенная в Протеусе, зажигания RA0 не показывает, работает в обоих случаях корректно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 01:02 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3753
Уууу, да это старая фишка, все в свое время на это ловились. Называется "Проблема RMW". За давностью лет я уже могу ошибиться, но вспоминая чисто по памяти, не заглядывая в доки, там суть в том, что чтение входов, находящихся в аналоговом режиме, будет давать 0. Поэтому, все компараторы и АЦП нужно однозначно отключать, а саму операцию с портом желательно проводить только на запись, используя для переключения дополнительную переменную. Хотя, по-моему, когда аналоговая периферия отключалась полностью, порт работал нормально на чтение. Но все равно, сама проблема побитовой перезаписи порта оставалась, ибо чтение шло со входных защелок, а не с выходных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 01:25 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 6026
Ааааа, понятно!
Программа по-простому устанавливала бит порта со светодиодом. А это, как обычно у ПИКов, делается чтением всего порта, установкой бита и записью обратно опять всего целиком. Очевидно, если прочлись нули, то и запишутся нули - и светодиод зажжется.
У меня такое случалось, когда выход бывал сильно посажен избыточной нагрузкой (или на RA4).
А тут вон оно как... не ожидал просто))))))

Спасибо за пояснение!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 09:00 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5737
Вы оба-два точно уверены??? :))))
Вааащето CMCON =0 переводит выводы в аналоговый режим и отключение пушпул от пина, а RMW это немного другая история...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 11:50 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 6026
dosikus_2 писал(а):
точно уверены??? :))))
Не уверен.
Если у Вас есть лучшее разъяснение, поделитесь плиз.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 14:27 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3753
Да я этот PIC в последний раз держал в руках лет много назад, поэтому я ж и написал, что не уверен. Но прочитать даташит то можно ведь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 16:42 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 6026
Дык читал как мог. И схемы обдумывал, которые там даны. Чего не понял, о том спросил.
Ваша версия показалась мне весьма вероятной. dosikus_2 не согласен - так пусть объяснит лучше.
Чё не так?))))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: непонятки с 16F628A
СообщениеДобавлено: 30 май 2019, 17:33 
Заглядывает иногда

Зарегистрирован: 16 сен 2018, 10:41
Сообщения: 124
DS40044G, page 33, FIGURE 5-1.
Управление TRISA не меняется, но читаться будет "0".
Show картинка


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB