STM32F103(1)

一.出错点:

  1. 报错:undefined symbol assert_param(referred from misc.o). 原因是在Keil的魔术棒按钮C/C++的prepeocessor symbols的Define空格中没有填入USE_STDPERIPH_DRIVER。在使用DAP烧录程序之前,要检查一下魔术棒按键下相关的数值和选项。

  1. 编译器出现几十个error和warning,看了一遍错误的问题主要是undefine和 declared implicitly.发现问题是文件里没有包括用到的其他文件的.h文件。

  1. declaration may not appear after executable statement in block.定义的变量或函数不要放到大括号中间或者程序最后,要放到大括号附近。

二.总结反思:

  1. 新建工程project包括:

(1)STRATUP:startup_stm32f10x_hd.s汇编编写的启动文件,设置堆栈指针,初始化向量表等

(2)FWLIB:内核之外的外设寄存器映射.C文件

(3)CMSIS:内核里的外设寄存器映射文件(core_cm3.c),系统时钟配置文件(system_stm32f10x.c)

(4)user: bsp类文件,main.c,中断服务函数的C文件

(5)doc: 说明文档

以上文件大多是.c文件,为了让软件找到对应的.h文件,要通过魔术棒案键下的C/C++的include paths来添加路径。包括inc(fwlib),user,cmsis。

  1. 提高程序可读性和可移植性

将硬件相关的进行封装。在.h文件内进行define和typedefine,函数声明

为增强可读性和可移植性,可在开头进行再一次define,方便修改和阅读

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值