16+
Воскресенье
19 мая
Вход |Карта сайта |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры AVR

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
Boвa  (15.03.2019 10:47 - 15.03.2019 11:20) , в ответ на Половина порта PortB сконфигурирована на выход, половина на вход. Выведено значение в PortB. Есть желание из другой функции опросить PinB, чтоб понять уровни на входных пинах. Сразу после инструкции in Temp0,PinB - лапки порта PortB, находившиеся автор: Тигр
Запретите прерывания, посмотрите не лезет ли у вас на выход сигнал из других блоков МК и приучите себя читать выведенное значение через регистр PORTB. 
Причины: 1) Когда вы читаете регистр PINB вы читаете то что реально идет наружу, и если вывод нагружен на емкость или резистор малого сопротивления вы можете прочитать значение 0 даже если выводите 1. Так что если вы хотите узнать что вы вывели читайте регистр PORTB, (возможно вставляя NOP или 2 NOP) между записью и чтением. 2) При выводе данных ваши данные могут не успеть добраться до вывода и вы читаете прошлое значение с порта, в таком случае вставка NOP между последовательными записью и чтением вам поможет. 3) У вас разрешены прерывания состояние порта могут измениться там 4) Если у вас работает разная периферия линии порта могут управляться ею, а регистр PINx может успешно читать реальное состояние линии, который не управляется регистром PORTx
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX