打印

51单片机,函数指针,函数调用异常,求解,大佬救我!!

[复制链接]
14443|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
24kdewhite|  楼主 | 2020-12-2 22:20 | 只看该作者
结构声明如下


初始化如下
struct_TFT_color TFT_color = {
        0x0000,
        _RGB_increase,
        _RGB_reduce
};




使用特权

评论回复
板凳
ayb_ice| | 2020-12-3 08:49 | 只看该作者
中断函数如果使用了不同的寄存器组,那么中断函数调用的子函数必须小心使用(或者使用同一寄存器组,或者不使用绝对寄存器访问,这些需要改变设置)

使用特权

评论回复
评论
24kdewhite 2020-12-3 12:58 回复TA
在被调用函数后面加using 1的话不能在其他位置调用,还是不要加这个关键字了 
24kdewhite 2020-12-3 12:23 回复TA
状态寄存器也是组1,我怀疑会不会硬件问题。。 
24kdewhite 2020-12-3 12:23 回复TA
异常那里前面几步还在组1里面操作,突然就换组0了 
24kdewhite 2020-12-3 12:21 回复TA
中断加using 1,并且在调用的函数后面也加using 1,异常也会消失。 不论加不加using 1,主函数默认都会使用组0, 但为什么会有异常不清楚 
24kdewhite 2020-12-3 12:09 回复TA
进中断也是这一组,这个函数确实是中断里面调用的,中断函数使用了using 1,调用函数时也是using 1,把这个using 1去掉上面描述的问题可以正常。 去掉using 1后中断使用组0,这个函数也使用组0,但没有看到组1的问题, 就是一个定时中断里面调用的,我也只开一个中断 
地板
xyz549040622| | 2020-12-3 19:13 | 只看该作者
怪不得说使用51的时候使用指针要慎重,楼主的问题深深的说明了这一点。我using x这个从来也没用过。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

279

帖子

3

粉丝