Я должен реализовать набор последовательных сдвиговых регистров с каждыми 8 выходами.Выходы подключены к переключателям, поэтому в настоящее время я использую логические массивы в C, которые либо включают переключатель (true), либо выключают (false).
Таким образом, каждый сдвиговый регистр имеет массив из 8 логических значений, который на самом деле представляет собой 8-битовое целое число без знака.Я мог бы продолжать работать с массивами, но я предполагаю, что это намного медленнее, чем просто побитовая манипуляция с целым числом.Также передача целого числа в интерфейс SPI намного проще, чем для массива.
Есть ли простой способ преобразовать логические массивы в целые числа или манипулировать целыми числами так же, как я мог бы манипулировать массивом?
Т.е.:
bool switch[8];
switch[0] = True; //Switch 1 on
switch[1] = False; //Switch 2 off
...
- это то же самое, что и
uint8_t switch;
switch = 0b00000001;
, но его сложнее читать и программировать, думая в отдельных переключателях.
Производительностьявляется ключевым, так как мой SPI должен быть очень быстрым.