PeterBeklemishev / mila

Arduino alternative based on MILANDR processor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GPIO mode configuring

ReDetection opened this issue · comments

commented

После #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.... Но оставить и так и так проблем вообще нет.

commented

DIN, AOUT — неочевидно, что за этим стоит. это как именование переменных xx2 или no_m. у малышей не должно возникать сомнений, к тому же ты скорее всего будешь встречать в программе эти длинные DIGITAL_INPUT очень редко

Можно и нужно иметь дефайны DIGITAL_INPUT на DIN или D_IN

commented

ок, меня устроит)

@ReDetection наверное это надо делать дополнительным .h файлом который если что подключать

@PeterBeklemishev

это надо делать дополнительным .h файлом который если что подключать

подключать можно всегда. Неиспользуемые дефайны просто игнорируются препроцессором. Да ведь, @ReDetection ?

@ReDetection

ты скорее всего будешь встречать в программе эти длинные DIGITAL_INPUT очень редко

Никто не ленился писать INPUT, OUTPUT, INPUT_PULLUP хотя можно было писать 0,1,2. То же самое относится и к HIGH, LOW, вместо которых можно было писать 1,0.

commented

да.