【发布时间】:2023-03-22 01:31:01
【问题描述】:
在主程序和 C 中的 ISR 之间共享一个不大于处理器自然字的对齐整数变量是否安全?是否保证不会发生撕裂的读取或写入?
【问题讨论】:
-
@M.M 虽然 Z80 可以处理两个字节的值,但它的“自然字”仍然是一个字节。
-
@M.M 你真的用c为Z80开发过固件吗?你失去了写大量
XOR A和INC HL的美好机会;) -
不可能有这样的保证——谁或什么会提供它?通用 C 保证的唯一来源是 C 标准,而 C 标准没有说明 ISR。
-
@Olaf 不,这不是保证的工作方式。你不能通过列出你认为事情可能出错的方式来综合保证,如果这些方式都不存在,你就说你有保证。当有人说(通过标准或通过文档)“X 保证做 Y”并且该方有责任确保它有效或他们未能满足他们给你的保证时,你就有了保证。如果有保证,就有提供它的标准或文件。如果您不能指向它,则无法保证。