
Масив от 8 бита (MPLAB, XC8, PIC18F4550)
//Процесора е PIC18F4550 , работна среда MPLAB IDE v8.92, компилатор XC8
За мое удобство използвам един тип наречен
bittypeТова е доста удобно и ми върши работа. Днес обаче в един мой проект ми потрябва да укажа номера на бита чрез променлива. Опитах се да направя масив от битове, но уви не се получи. Накрая успях като добавих следния ред в моя
union:
И така моят
union вече е union от три неща които са по 8 бита : от една структура от 8 бита с имена, от един байт, и от един масив от 8 бита. Всичко изглеждаше добре. Дори в програмата имах следната проверка
if(variable.bitarray.bitindex[0] == 1) която се оказа, че работи. Когато обаче в проверката задам друг номер на бита от масива, компилатора (XC8) дава грешка. Това нещо може ли да се направи изобщо ? Проблема е че ми трябва да управлявам 1000 светодиода, а процесора има само 2048 байта които не ми стигат, понеже искам да имам за всеки светодиод по 2 страници на паметта.