STM32移植工程教程 包括解决Keil 一些常见的错误等等

1.确定你移植的工程 

1.1 这里随便找了一下别人代码中的超声波传感器工程为例,其他同理。

1.2 打开 HARDWARE文件夹

1.3 复制这个HC-SR04(超声波的代码),到你工程的HARDWARE文件夹里面,这里以OLED实验为例

然后打开Keil 

2. 添加.c文件

点击这个按钮,点击HARDWARE,Add Files,找到刚刚复制的HC-SR04这个文件,选择hc.c,add添加。

 

 

 在左边的能看到即说明添加成功

 3 添加头文件路径

3.1 点击魔术棒,选择C/C++,打开include paths

 3.2 点这里找到HC-SR04的文件夹,选择

 出现如图则说明添加成功

4 解决常见的一些问题

4.1 

编译一下,把多余的头文件删去 

有6个错误 我们一般从第一个错误开始看 

这里的错误 是TIM定时器的结构体没定义,但其实这些在工程里面的库函数这些都已经包含了

这时候,找到stm32f10x_conf.h打开,可以看到stm32f10x_tim.h被注释掉了,这就是导致编译错误的原因,只需要删掉注释 重新编译一下即可

 重新编译一下 错误就没有了

 4.2 引脚冲突

有时候 会遇到引脚冲突,

解决方法一

修改文件里面的宏定义 更换为别的引脚

解决方法二

使用重定义功能 具体的可以查每个引脚的功能

4.3 函数名字不一致导致错误

 例如这里 是说没找到delay_us的定义 很明显 这是一个延迟函数,我们找到延迟函数delay.c,看看是如何定义的

可以看出 这里的延迟函数我们写的是delay_ms 而不是我们移植过来的工程里面的 delay_us。

这时候,回到hc.文件 按住Control+F

选择Replace 把delay_us全部替换成delay_ms,然后选择Replace All

 再编译一下 错误就没有了

5 结语

       在实际移植中,或许还会碰到更多问题,我只是把我平时遇到多一点的问题写出来供参考解决,如有错误,请多多指正。

  • 8
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值