热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

STM32 新固件库创建相关

   上次那篇《STM32RVMDK快速创建工程》,其实就是直接用keil安装库来创建工程。我认为不要用下载的固件库来创建工程,觉得

    上次那篇《STM32 RVMDK快速创建工程》,其实就是直接用keil安装库来创建工程。我认为不要用下载的固件库来创建工程,觉得容易出错。其实,我当时初窥stm32,很多东西没有搞清楚,所以才这么认为。直接用keil4的安装库来建立工程固然简单,但是那个库旧得要命,都是2.0左右的版本(我原以为新安装的必然是最新的库,其实不然)。

    用新的固件库放于本地创建工程,之所以容易出错,我想有两点:

    1、虽然把整个库放在本地,但不一定真的就用了本地的库,由于include paths没有设置完整或者没有在在选项里定义关键的defind,很容易造成编译器直接调用安装库,而不是本地库。

    2、新库函数和旧库不兼容,如果用旧库写的程序,升级成为新库,只怕新手很容易被蒙到。

    可以找一个叫《STM32V3.4固件库使用方法》作为参考,去创建工程,不过,即使这样也容易出错。

    注意如下:

    1、仔细按这个方法设定defind、include paths,不可漏;

    2、仔细copy每个文件到工程里面,特别是“stm32f10x_conf.h”、“stm32f10x_it.h”、“stm32f10x_it.c”、“system_stm32f10x.c”

    3、建立工程的时候,出现“CopySTM32 Startup Code to Project Folder and ADD File to Project ?”提示时,选择“否”。

    4、“stm3210x_misc.c”、“stm3210x_rcc.c”“core_cm3.c”“system_stm32f10x.c”记得要加载

   5、“STM32F10X_HD,USE_STDPERIPH_DRIVER”记得要添加, STM32F10X_HD是高容量芯片的,要根据不同芯片选择不同; 

    6、"stm32f10x.h"和“stm32f10x_lib.h”不可以同时include,前者是3.0库以后的库所用,后者是2.0库所有,如果同时加载,就会出现重复定义等错误提示。

    7、bool的问题。新的固件库是没有对bool重定义的!!!!!,在新库里,要用到bool,请用#include ,这样才可以用true和false,小写。

    8、新旧库不兼容的地方要一一修改。




推荐阅读
author-avatar
静静
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有