Я хотел бы создать макрос препроцессора, который преобразует целое число, представляющее адрес, в указатель. Это для разработки MCU.
Например, регистры определены как
#define SOME_REGISTER 0x05 // This the the address of SOME_REGISTER
Итак, я определил следующий макрос:
#define REG_ADDR(reg) (*((volatile uint8_t*) reg))
И когда я хочу ' t использовать его
volatile uint8_t * reg_ptr = REG_ADDR(SOME_REGISTER)
Но, конечно, я получаю предупреждение makes pointer from integer without a cast [-Wint-conversion]
1013 *
Есть ли чистый способ сделать это?
Заранее спасибо