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

求助 stm32 函数指针 问题

[复制链接]
Blen 提问时间:2012-4-21 13:56 /
 我编一个通过函数指针调用子程序的实验程序运行没有问题,程序如下:
 
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
 
收藏 评论0 发布时间:2012-4-21 13:56

举报

0个回答

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版