| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Масив от 8 бита (MPLAB, XC8, PIC18F4550) http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=14915 |
Страница 1 от 1 |
| Автор: | slav4o.com [ Съб Ное 26, 2016 9:28 pm ] | ||||||||||||||||||
| Заглавие: | Масив от 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 страници на паметта. |
|||||||||||||||||||
| Автор: | dan [ Съб Ное 26, 2016 9:44 pm ] | |||||||||
| Заглавие: | Re: Масив от 8 бита (MPLAB, XC8, PIC18F4550) | |||||||||
Това мисля, че няма как да се получи. Номерът на бита трябва да е известен към момента на компилиране. Вариантът е да го направиш с лог. оператор И или ИЛИ и преместване (шифтване). |
||||||||||
| Автор: | michev [ Съб Ное 26, 2016 11:07 pm ] | ||||||||||||||||||
| Заглавие: | Re: Масив от 8 бита (MPLAB, XC8, PIC18F4550) | ||||||||||||||||||
Не разбирам защо се опитваш да правиш подобни гимнастики. Какво му има на стандартния начин?
където i е номера на бита дето ще разбутваш. |
|||||||||||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|