keil调试为什么程序调试时会跑飞,下面是代码的一部分

typedefvoid(code*pFunction)(void);pFunctionpfnSetSPI2Clock;PAGESEL=0x03;pfnSetSPI2Clo... typedef void (code *pFunction)(void);
pFunction pfnSetSPI2Clock;
PAGESEL = 0x03;
pfnSetSPI2Clock = (pFunction)(CLKCODE_SRAM_CALL_ADDR);
pfnSetSPI2Clock ();
提示:*** error 65: access violation at C:0x95C0 : no 'execute/read' permission
展开
 我来答
小兆86
2014-02-26 · TA获得超过802个赞
知道小有建树答主
回答量:990
采纳率:25%
帮助的人:870万
展开全部
强制PC指针跳转到CLKCODE_SRAM_CALL_ADDR,这是个合法地址吗?好像你没有跳转到这里的权限唉,也就是说这个地址不是一个有效的入口地址。
更多追问追答
追问
CLKCODE_SRAM_CALL_ADDR为0x85C0|0x1000,这个为什么会跳到0x95C0
的?另外这个是芯片的库函数,应该没问题的啊?
追答
0x85C0|0x1000就是0x95C0为什么不要跳到0x95C0。很明显你非法跳转了嘛。
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
匿名用户
2014-03-03
展开全部
typedef void (code *pFunction)(void);这是什么东西。有这么用的吗?
追问
大哥,这是定义一个指向函数的指针的新类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式