硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4516|回复: 1
收起左侧

[客户分享] 分享一个小经验:在函数里改指针进入HardFault_Handler解决方法

[复制链接]

7

主题

4

回帖

25

积分

新手上路

积分
25
发表于 2016-3-3 22:14:31 | 显示全部楼层 |阅读模式
如下代码所示,编译链接是没问题的,但是STM32一运行就会进入HardFault_Handler
  1. void YYY(u8* a)
  2. {
  3.   a[3] = 1;
  4. }
  5. int main()
  6. {
  7.     u8*  buff;
  8.     YYY(buff);
  9. }
复制代码
原因是buff只是一个指针,不可以把它当数组用,解决办法如下(就是把它改成一个数组)
  1. void YYY(u8* a)
  2. {
  3.   a[3] = 1;
  4. }
  5. int main()
  6. {
  7.     u8  buff[10];
  8.     YYY(buff);
  9. }
复制代码

评分

参与人数 1 +5 收起 理由
eric2013 + 5

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107371
QQ
发表于 2016-3-4 19:45:37 | 显示全部楼层
非常感谢楼主分享[s:151] [s:151] [s:151]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-28 14:48 , Processed in 0.242760 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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