Поясните дураку что я не понимаю
- Войдите на сайт для отправки комментариев
Пт, 17/04/2020 - 22:19
Привет всем.
Объясните дураку что я не понимаю.
ссылка: https://radioparty.ru/device/avr/70-ampervoltmeter-attiny13
одни и те же выводы используются и для общения с дисплеем и для приема данных с датчиков. Это мне не понятно и как я не пытался понять код приложенный на бэйсике - я не понял. Вроде назначение ног определяется на стадии инициализации (либо принимает данные либо отправляет). Не могу понять, объясните кто знает и кому не лень.
Программу на бейсике не сложно предоставить?
Я сейчас с планшета, завтра до компьютера доберусь попробую выложить.
мне интересно - это вообще как возможно то? В отличии от ардуино я там ничего подобного про объявления портов не увидел. Она есть по ссылке выше, не вирус вроде. (Знаю тут не принято по внешним ссылкам ходить, хотя бы в теории пока понять).
Это нормальная практика использовать порты по двойному назначению. Например в TFT экранах с тачскрином одни и те же порты используются для выдачи данных на экран и для приема данных от тачскрина. Просто переключая их с передачи на прием. Уверен - здесь делается то-же самое. Если экран не увидит правильную последовательность кодов - то он ничего делать не будет. На этом все и построено.
Собственно вот код (выше выложил).
Где тут применяется инверсия портов (прием/передача данных)? Где вообще идет чтение данных?
И как бы тоже самое выглядело на дуине (/чистом Си)?
Собственно вот код (выше выложил).
Где тут применяется инверсия портов (прием/передача данных)? Где вообще идет чтение данных?
И как бы тоже самое выглядело на дуине (/чистом Си)?
Строки 65, 67, 78, 80 - идёт работа с DDR*, т.е. Data Direction Register. Чтение данных - строка 74.
Занятный польский Бейсик.
Чуть мозг не вытек
Когда надо принимаешь, когда надо передаёшь... Затем всё по новой. Совмещение называется. Всё правильно сказали.
А на си (в плане ардуино) так можно? И как именно? Постоянно назначение выводов менять или вообще их никак не объявлять? Не пойму никак все еще....
Moжно не объявить, а сразу писать в процедурах номер ноги. Можно не определять моду, если прочитать что по сбросу нога в режиме ввод, а тебе это и надо. Можно в любой момент поменять ногу с входа на выход и обратно. Ограничений нет, если ты понимаешь что делаешь и зачем.
nik182, он ищет pinMode() и не находит.
BOOM, управление направлением производится напрямую через регистры.
Тяжёлое детство, лишенное витаминов, деревянные игрушки, прибитые к полу, волосатые руки няни... понимаю. Мне, кстати, в своё время рекомендовали в ABR в DDR смотреть как на палочки и дырочки. В дырочку вводишь :-). Соответственно в строке 67 три ноги переключаются на ввод - вот тут не понятно канала два а ноги три - неувязочка, в 80 всё на вывод. Две подпрограммки - измерения и рисования на LCD, В лупе два измерения - температуры и напряжения с нулевого канала и третьего. Даже 50 мс ждёт после перключения, что бы всё устаканилось. Простая как грабли программа.
Мне, кстати, в своё время рекомендовали в ABR в DDR смотреть как на палочки и дырочки. В дырочку вводишь :-).
У некоторых наоборот. 0 - Output, 1 - Input, и никаких нездоровых ассоциаций.)
У некоторых наоборот. 0 - Output, 1 - Input, и никаких нездоровых ассоциаций.)
Пример приведите пожалуйста. У тинек, лео и 328 так. Другими не пользуюсь. stm актуальнее. А Вы теми которые наоборот пользуетесь или это так, любовь к точности?
Сейчас у AVR хозяин Microchip. Вот у него PIC мк, и у них как раз таки наоборот. Да, приходится пользоваться, многие любят. Более того, некоторые на дух не переносят AVR.)
Вон оно что...не помню уже. Я в 90-х с них начинал, но потом на msp430 быстро перешёл. Очень они по архитектуре и командам на PDP-11 были похожи, а PDP я уже знал. Меня даже в армии посылали служить её обслуживать. Но не сложилось. Метров 500 не доехал. А у 430 то же 0 - вход.