【发布时间】:2015-04-14 21:04:41
【问题描述】:
假设我有一个微控制器,我知道当它接收到中断时,它会跳转到地址 0x8000(仅作为示例)。我如何在 C 中定义它,它似乎类似于将地址转换为变量,以便我可以读取或写入内存。
通常,支持包带有一些 pragma 语句或其他方式来指示您的中断代码在哪里。但我想了解您将如何在标准 C 中做到这一点。某种函数指针或其他东西?
【问题讨论】:
-
标准 C 中的 min 是什么?我一直认为您可以在数据表中找到所有地址,或者如果可能的话手动设置它,并为地址创建您自己的定义。
-
如果没有特定于中断的支持包,您将需要一些汇编代码。一方面,返回顺序可能与标准函数不同。例如,对于 ARM 处理器,可能需要根据异常类型调整寄存器 14(LR - 链接寄存器)中的“返回”地址。
标签: c microcontroller