搜索
bottom↓
回复: 4

[求助] stm32 屏蔽中断指令不能屏蔽中断

[复制链接]

出0入0汤圆

发表于 2013-4-27 11:14:16 | 显示全部楼层 |阅读模式
本帖最后由 meirenai 于 2013-4-27 11:36 编辑

1、我使用了__set_PRIMASK(1) 来屏蔽除NMI和fault以外的所有中断,但是现在用仿真器调试发现,还是有进中断的情况,(串口发送完成中断)

2、还有一个问题就是

        index=SCH_Add_Task(CH340_Dispose,0,50);
        index=SCH_Add_Task(SIM900_Dispose,1,50);
        index=SCH_Add_Task(HC595_WriteChar,10,2);
        index=SCH_Add_Task(I2C_UpdataTask,3,500);
        index=SCH_Add_Task(KEY_UpdataTask,1,100);
        i=index;

仿真上面这段代码的时候,locals窗口不能显示出index和i的值,莫名其妙的问题,

3、重装keilMDK的时候不管用什么版本的安装文件,在运行安装文件时总是提示 cannot load license.rtf
我有点怀疑是MDK的问题了,

4、有时候我定义了变量,并且这个变量在程序中是左值,但是build程序的时候还是现实警告,“定义了xxx变量,但从没有使用” 这几天都快郁闷了。

5、
在一个函数内部我定义了一个内部数组 uint8_t buf[512]; 用来读取SD卡的一个扇区,读出扇区内容后把数据发送到串口发送缓冲区,以后就没再使用这个数组。
现在的问题是如果我把这个函数定义成内部变量 如uint8_t buf[512];运行程序就会进到void HardFault_Handler(void)异常里去,如果定义成 static uint8_t buf[512]; 程序能够正常执行。这种问题怎么解释啊?

求大侠指点。

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入0汤圆

 楼主| 发表于 2013-4-27 12:55:25 | 显示全部楼层
没有人看看嘛?五一都放假了啊? 自己顶下

出0入0汤圆

 楼主| 发表于 2013-5-7 14:50:24 | 显示全部楼层
未解决            

出0入0汤圆

 楼主| 发表于 2021-5-8 23:49:51 | 显示全部楼层
2、一般和编译器优化有关系
5、局部变量分配在栈空间,静态变量在编译程序的时候分配地址。所以会导致这个问题。

出5入0汤圆

发表于 2021-5-9 21:19:42 | 显示全部楼层
meirenai 发表于 2021-5-8 23:49
2、一般和编译器优化有关系
5、局部变量分配在栈空间,静态变量在编译程序的时候分配地址。所以会导致这个 ...

4.变量只是赋了一个值,没有对这个变量进行判断或参与计算,编译器就是认为是没用
5.局部变量导致堆栈溢出了?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 16:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表