WS2811 Искажение эффекта радуги если больше 255 светодиодов

Verso

✩✩✩✩✩✩✩
31 Дек 2019
2
0
Подключил светодиодную ленту ws2811 12В длиной 13 метров (3 участка 5+5+4 м). Каждый участок питается от своего блока питания с 2-х сторон. Земля общая. На выходе с пина ардуино стоит сопротивление, вроде 460 Ом. Получилось 296 светодиодов. Нужно использовать эффект бегущей радуги. Цвета начала и конца ленты не совпадают. Если задать 255, то цвета сходятся там, где кончается подсветка с началом. Получается участок в 41 светодиод живет своей жизнью. Если просто задать цвета, (красный, синий зеленый и т.д.) , то показывает как надо. Куда копать не знаю.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
есть такой тип данных - байт (byte), этот тип данных может принимать значения от 0 до 255, если к 255+1 будет опять 0. очевидно, что у тебя где то что то связанное с байтом, а следующие идут по принципу N-256, т.е. 296 светодиод получается с номером 40. И конечно цвет номера 40 не будет совпадать с 1-ым. Надо этот тип данных как то замменить на word или uint16_t . Вот туда и рой
 

Verso

✩✩✩✩✩✩✩
31 Дек 2019
2
0
Тоже про это думал. В описании попадался формат передачи word. Просто получается либо придется писать код в два посыла (отдельно для 40 пинов), либо искать в чем еще может быть причина.