Closed ko10ok closed 9 years ago
portInit(PB,OUT | IN_P(2) | IN_P(3) )
не будет работать. 1 | 0 = 1, биты 2 и 3 не сменятся
Сменятся.. это не вся реализация, я там смещение еще всякую херь забыл добавить...
Вопрос только в том что нужно ли это в таком виде? Или это неудобно, и есть более кошерные способы. и тебе больше нравицо:
portInit(port, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN)
Ну так тоже неплохо, в соседнем трэде reDetection тоже предлагает весь порт например на аут, а потом отдельные пины на ин.
Кстати, что делать, если мне надо инициализировать половину порта на выход, а остальное никак не трогать? :)
Тогда пининит
.
А че за соседний тред? Где найти?
Типа порт инит()
и иметь такой же массовый пининит()
для кусков порта? Тогда тоже норм)
А че за соседний тред? Где найти?
Блин, я хз, можт удалилось... Суть в том, чтобы делать, допустим, так:
portInit(PORTB,OUT)
pinInit(B2,IN)
pinInit(B3,IN)
где-где... в коммитах это, 044d88b и c5d991c. ну и, соответственно, попало в пулл-реквест #6, содержащий эти коммиты.
@ko10ok, учи оформление кода, это всего лишь символ ` вставить
@ko10ok тебя устроит, что у нас работает так:
portInit(PORTB,OUT)
pinInit(B2,IN)
pinInit(B3,IN)
?
Пока пусть так и будет. Хотя сам pinInit(B2,IN)
в последствии хотелось бы доделать до массового, аналогично массовому присвоению (что бы инициализировать только те ноги которые нужны)
в последствии хотелось бы доделать до массового, аналогично массовому присвоению (что бы инициализировать только те ноги которые нужны)
Не делать же это перегрузкой функции pinInit...
Раскуривать DSL, узнавать, можно ли это сделать средствами препроцессора
"0х04 OE[15:0] MDR_PORTx->OE" means 16bit of "uint32_t mode" used? Use part of param "mode" as exclusion(inversion) mask, instead of multiply overrided "portInit"
How to planed now: exaple usage:
portInit(port, OUT/IN);
----- any PORTportInit(port, OUT/IN, OUT/IN, OUT/IN)
----- PORTC onlyportInit(port, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN)
----- PORTE onlyportInit(port, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN)
----- PORTADFportInit(port, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN, OUT/IN)
----- PORTBSuggestion:
example usage: