你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 2659|回复: 0

求助 stm32 函数指针 问题

[复制链接]

4

主题

6

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2012-4-21 13:56:39 | 显示全部楼层 |阅读模式
 我编一个通过函数指针调用子程序的实验程序运行没有问题,程序如下:
 
void scr_1(void);
void scr_2(void);
void scr_3(void);
void (*fp)();
void (*scr_list[])()={
        scr_1,
        scr_2,
        scr_3,
};
 
void main(void)
{
        fp=scr_list[0];
        (*fp)();
        fp=scr_list[1];
        (*fp)();
        fp=scr_list[2];
        (*fp)();
        while(1);
}
void scr_1(void)
{
        unsigned char  i,j;
       
        i=0;
        j=i;
        i=10;
};
void scr_2(void)
{
};
void scr_3(void)
{
};
 
但是我运用到实际项目中,在子程序返回时就出错,总是跳到HardFault_Handler 里边,不知道什么回事情,我想唯一的区别就在于实验程序中我没有用ST的函数库,实际项目中我用了ST的函数库(但我用函数指针调用的不是st的函数,而是我自己编的函数),请大侠指点啊
 
我发现我的实验程序子程序返回是用 bx lr,而项目程序用的是pop {r0-r5;pc}, 是编译问题还是在哪里可以设置????
我用的是iar for arm 5.4
 
回复

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版