Как получить имя порта по номеру пина? Помогите, друзья!
- Войдите на сайт для отправки комментариев
Пт, 07/05/2021 - 21:14
Есть макрос bitSet(PORTD, 5);
Например пин 13 (светодиод) - это 5 бит порта B.
Как по номеру 13 получить имя PORTB или ссылку на него. Попробовал так:
#define CS 13
byte bitCS;
byte *outCS;
void setup() {
bitCS = digitalPinToPCMSKbit(CS);
outCS = portOutputRegister(digitalPinToPort(CS));
}
void loop() {
Blink();
}
void Blink(){
bitSet(*outCS, bitCS);
delay(1000);
bitClear(*outCS, bitCS);
delay(1000);
}
Работает без проблем! Но в другом скетче та же методика НЕ работает. Если вместо *outCS пишу PORTD (там пин 6, а не 13), все нормально...
Буду очень признателен за помощь!
volatile забыл
Так-то макросу пофигу в каком скетчей работать или не работать.
В нашей поликлинике диагноз по полубаночке мочи не ставят, нужна трехлитровая. А ещё лучше - штук пять трехлитровых.
Огромное спасибо! Работает!