[其他ST产品] 请教lut1lut,关于iap的问题

[复制链接]
3311|1
 楼主| jackie816 发表于 2007-6-1 16:51 | 显示全部楼层 |阅读模式
谢谢你的共享,在程序有个语句我看不懂,
offset = (((*p)&0xffff)+0x7E0) >> 2;
请问0x7E0是什么,怎么得出来的
lut1lut 发表于 2007-6-4 10:14 | 显示全部楼层

0x7e0的由来

从0xffff,f818往后跳转(溢出则wrap from 0)到***_IRQHandler的地址,即到(*p)&0xffff,再减去8
例如, T1TIMIRQHandler地址为0x4000,3360,则从0xffff,f818跳到那里的偏移量为(1,0000,3360-ffff,f818)-8=(0x4000,3360)&0xffff+0x7e0。

至于后面的>>2,则是根据指令"B"的编码格式“左移两位”而来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部