我正在为一个数模转换器芯片编写一个SPI驱动程序,它使用16位的SPI值表示输出是从位11到位4(一个8位的messages...the )。我已经写了这个掩码,但我不知道如何在不影响其他位的情况下实现数据更新:
#define MCP4901_SPI_MASK_DATA 0x0FF0
//So data mask in binary is 0000 1111 1111 0000
extern uint16_t mcpA;
static inline void mcpSetData(uint16_t* mcp, uint8_t value) {
//????
*mcp =| value & MCP4901_SPI_MASK_DATA; //NOT WORKING
}
https://stackoverflow.com/questions/47738930
复制相似问题