GPIO mode configuring
ReDetection opened this issue · comments
После #11 все утихли. Исправим-с.
@dubkov
Все помнят, какая фигня с ШИМом в ардуино - она включена по умолчанию, и каждый дигиталврайт её выключает ><. Почему бы нам при инициализации пина не заставить пользователя явно указать, хочет он шим или гпио. Например вот так:
initPin(pin, digital, INPUT)
initPin(pin, digital, OUTPUT)
initPin(pin, analog, INPUT)
initPin(pin, analog, OUTPUT)
тут еще АЦП затесался :)@ko10ok
Направление норм. Но да, немного дофига писать, хотя если такая же константа ANALOG как и оутпут, то автокомплит затащит.
Как часто меняется функционал пина? Может это для экстренной смены функции использовать только а для инициализации использовать инитмассив какого нить формата лучше > репредложение 2@PeterBeklemishev
оч круто, но мб слишком многословно@ReDetection
Это обязательно надо делать. Только, я считаю, надо объединить второй и третий параметр, чтобы было вот так:
initPin(pin, DIGITAL_INPUT)
initPin(pin, DIGITAL_OUTPUT)
initPin(pin, ANALOG_INPUT)
initPin(pin, ANALOG_OUTPUT)
initPin(pin, PWM)
initPin(pin, EXTERNAL_INTERRUPT)
initPin(pin, UART_RX) ??
etcкстати, init подразумевает что мы один раз настроили и забыли, а чуваки, в принципе, могут менять режим работы на лету. как насчёт configPin/configPort?
@dubkov
DIGITAL_INPUT и т.п. долго писать, я бы сократил до DIN, AOUT.... Но оставить и так и так проблем вообще нет.
DIN, AOUT — неочевидно, что за этим стоит. это как именование переменных xx2 или no_m. у малышей не должно возникать сомнений, к тому же ты скорее всего будешь встречать в программе эти длинные DIGITAL_INPUT очень редко
Можно и нужно иметь дефайны DIGITAL_INPUT
на DIN
или D_IN
ок, меня устроит)
@ReDetection наверное это надо делать дополнительным .h файлом который если что подключать
это надо делать дополнительным .h файлом который если что подключать
подключать можно всегда. Неиспользуемые дефайны просто игнорируются препроцессором. Да ведь, @ReDetection ?
ты скорее всего будешь встречать в программе эти длинные DIGITAL_INPUT очень редко
Никто не ленился писать INPUT, OUTPUT, INPUT_PULLUP хотя можно было писать 0,1,2. То же самое относится и к HIGH, LOW, вместо которых можно было писать 1,0.
да.