Указатели указатели указатели (помогите разобраться)

Вопросы программирования в системе Ардуино
fusic
Сообщения: 1
Зарегистрирован: 25 фев 2019, 15:53

Указатели указатели указатели (помогите разобраться)

Сообщение fusic » 25 фев 2019, 18:43

Доброго дня !
Задача следующая:
использую Mega 2560
работаю с PWM-ами
нужно их постоянно обновлять
имеется массив из 15-ти байт
эти 15 байт надо переложить в 15ть регистров OCR
пытаюсь делать это в цикле
для этого создаю вот такой массив
unsigned int *OCR[15] = {(unsigned int*)&OCR3B, (unsigned int*)&OCR3C, (unsigned int*)&OCR0B, (unsigned int*)&OCR3A,
(unsigned int*)&OCR4A, (unsigned int*)&OCR4B, (unsigned int*)&OCR4C, (unsigned int*)&OCR2B,
(unsigned int*)&OCR2A, (unsigned int*)&OCR1A, (unsigned int*)&OCR1B, (unsigned int*)&OCR1C,
(unsigned int*)&OCR5C, (unsigned int*)&OCR5B, (unsigned int*)&OCR5A};


далее в цикле работаю

for (byte w = 0; w < 15; w++) {
if (PWM[w] != BA[w]) { *OCR[w] = PWM[w]; };
if (PWM[w] >= PWMMin) {PWMzero = false;};
}


...вроде всё нормально работает но иногда какие-то глюки как будто новое значение ШИМа залетает не в тот OCR
+ уверен что дело именно в этих кусках кода т.к. если делать всё без цикла то проблема исчезает
- думаю что не правильно работаю с указателями НО что именно ????


Вернуться в «Программирование Ардуино»

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и 1 гость