如何为布尔变量分配 16 位编码值(例如,汉明码)以避免由于位翻转导致的错误状态?
1 回答
-1
布尔值在platform_types.h文件中定义。根据标准,它是 typedef uint8。
[SWS_Platform_00027] ⌈标准 AUTOSAR 类型布尔值应实现为无符号整数,其位长是平台本机支持的最短位长(通常为 8 位)。
同样在这个文件中TRUE和FALSE被定义为0和1。这也符合标准[SWS_Platform_00056]
如果您愿意超出标准,您可以将这些定义更改为汉明码。但是你需要小心
TRUE并且FALSE也可以在项目的其他地方定义。- 一些实现可能不使用宏
TRUE并将FALSE值分配给布尔变量。他们可能使用 0 和 1 的幻数,在这种情况下,您将在运行时出错。
于 2019-05-14T03:24:19.330 回答