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

查看: 2625|回复: 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版