Size: a a a

2020 July 06

A

Aleks in ARDUINO_GODs
Всё таки 21 век на дворе!
источник

A

Aleks in ARDUINO_GODs
источник

t

tmelinked_ in ARDUINO_GODs
Aleks
Как бы обойтись без битовых извращений?
внутри недр мешанины из либриотек написан ногодрыг через битовые извращения.
источник

t

tmelinked_ in ARDUINO_GODs
специально сделано, чтобы не извращаться
источник

A

Aleks in ARDUINO_GODs
Ага! Я догадывался...👍
источник

t

tmelinked_ in ARDUINO_GODs
и назвали это все коротко digital_write
источник

t

tmelinked_ in ARDUINO_GODs
пардон, название неправильное
источник

t

tmelinked_ in ARDUINO_GODs
digitalWrite вроде
источник

t

tmelinked_ in ARDUINO_GODs
да,  так точно
источник

t

tmelinked_ in ARDUINO_GODs
источник

A

Aleks in ARDUINO_GODs
Это всё так, но тута мы указываем номер пина платы, а мне надо номер пина голого камня! Как быть?
источник

t

tmelinked_ in ARDUINO_GODs
номер пенопласта по фрейду это сильно, еще и звездные войны😁
источник

A

Aleks in ARDUINO_GODs
Это аудиоввод у вас тут такой...
источник

t

tmelinked_ in ARDUINO_GODs
Aleks
Это всё так, но тута мы указываем номер пина платы, а мне надо номер пина голого камня! Как быть?
PB6 это номер порта. Напрямую указать номер ноги можно через запись байтов в порт, емнип
источник

t

tmelinked_ in ARDUINO_GODs
можно биты отдельно, но без сдвигов и прочей не получится
источник

ВГ

Владислав Голец... in ARDUINO_GODs
Aleks
Это всё так, но тута мы указываем номер пина платы, а мне надо номер пина голого камня! Как быть?
void digitalWrite(uint8_t pin, uint8_t val)
{
 uint8_t timer = digitalPinToTimer(pin);
 uint8_t bit = digitalPinToBitMask(pin);
 uint8_t port = digitalPinToPort(pin);
 volatile uint8_t *out;

 if (port == NOT_A_PIN) return;

 // If the pin that support PWM output, we need to turn it off
 // before doing a digital write.
 if (timer != NOT_ON_TIMER) turnOffPWM(timer);

 out = portOutputRegister(port);

 uint8_t oldSREG = SREG;
 cli();

 if (val == LOW) {
   *out &= ~bit;
 } else {
   *out |= bit;
 }

 SREG = oldSREG;
}
источник

ВГ

Владислав Голец... in ARDUINO_GODs
переделай этот код в то что тебе нужно
источник

A

Aleks in ARDUINO_GODs
tmelinked_
PB6 это номер порта. Напрямую указать номер ноги можно через запись байтов в порт, емнип
Пробовал, чё то не получилось...
Пойду ещё попробую...
А утром поеду бубен покупать!
Чувствую, без БУБНА в нашем деле ничего путного не получится!
источник

t

tmelinked_ in ARDUINO_GODs
👆
источник

A

Aleks in ARDUINO_GODs
Владислав Голец
void digitalWrite(uint8_t pin, uint8_t val)
{
 uint8_t timer = digitalPinToTimer(pin);
 uint8_t bit = digitalPinToBitMask(pin);
 uint8_t port = digitalPinToPort(pin);
 volatile uint8_t *out;

 if (port == NOT_A_PIN) return;

 // If the pin that support PWM output, we need to turn it off
 // before doing a digital write.
 if (timer != NOT_ON_TIMER) turnOffPWM(timer);

 out = portOutputRegister(port);

 uint8_t oldSREG = SREG;
 cli();

 if (val == LOW) {
   *out &= ~bit;
 } else {
   *out |= bit;
 }

 SREG = oldSREG;
}
Спасибки! Попробую.
источник