Здравствуйте, вопрос по тому как лучше написать на Си
Есть MSP430, 16 бит.
Работает с внешней микросхемой по SPI, 8 бит.
У внешней микросхемы все регистры 32 бита.
Значения 32 битных регистров разбиты по 1,2,3,4, итд битам, поэтому удобный доступ можно осуществлить с помощью дефайнов, например
#include <msp430f149.h>
#include "functions.h"
// reg0
#define ANZ_FIRE_0 0x0<<28
#define ANZ_FIRE_1 0x1<<28
#define ANZ_FIRE_2 0x2<<28
Но проблема в том что сдвиг на количество разраядов большее 15 вызывает логичное предупреждение компилятора.
В связи с этим прошу подсказать как можно обойти эту проблему, например будет ли решение через объединение 4 uchar в ulong единственно правильным.
Заранее благодарен