工具/软件:TI C/C++编译器
我们最近尝试更新现有代码的编译器、并开始错误报告 MISRA 规则12.7:
#define SWITCH_0_BIT 0x01U #define SWITCH_1_BIT 0x02U #define SWITCH_2_BIT 0x04U #define SWITCH_3_BIT 0x08U #define SWITCH_4_BIT 0x10U 采样=(((((uint32_t) GPIOPinRead (GPIO_PORTD_base、GPIO_PIN_4)= 0U)? 0U:switch_0_bit) |(((uint32_t) GPIOPinRead (GPIO_PORTJ_BASE、GPIO_PIN_0)== 0U)? 0U:switch_1_bit) |(((uint32_t) GPIOPinRead (GPIO_PORTD_base、GPIO_PIN_5)== 0U)? 0U:switch_2_bit) |(((uint32_t) GPIOPinRead (GPIO_PORTN_BASE、GPIO_PIN_3)== 0U)? 0U:switch_3_bit) |(((uint32_t) GPIOPinRead (GPIO_PORTJ_BASE、GPIO_PIN_1)== 0U)? 0U:switch_4_bit));
这里所有按位运算都应无符号。