2-stm32嵌入式开发学习笔记

一、写在开始

  keil5, 标准外设库
  虽然现在的代码结构体系基本上都按照正点原子来了,但是本人从野火入门,也确实体会到一点其中的好处,移植真的方便清晰准确,后续便按照此沿用了。

二、环境搭建

  对应芯片的pack包(如F1、F4)到官网下载http://www.keil.com/dd2/pack ,下载完成后双击即可安装完成(此步骤在安装完keil后)。
  为了后续程序的正常下载,需要下载烧录器的驱动,stlink、ch340等。

三、工程配置

  1、整体跟随野火的项目工程目录搭建
      DOC文件夹下readme.txt
      Libraries文件夹下放内核文件、启动文件以及官方外设库函数
      Project文件夹即为keil软件创建的项目的位置
      User文件夹中都为自己写的代码(main.c为主文件,stm32f10x_it中写中断)
  2、项目里对文件分组
      STARTUP文件夹下放后缀为.s的启动文件,选啥根据芯片变化,看数据手册。
      FWLIB文件夹下放外设库函数
      CMSIS文件夹放内核文件
      User文件夹中为自己写的代码
  3、在魔术棒里C/C++添加宏,你要使用外设库的宏以及启动文件的宏(USE_STDPERIPH_DRIVER,STM32F10X_HD)。以及你写的文件的文件位置。
  4、如果要调整各种输出、连接等,在魔术棒里慢慢找就好,很清晰。

四、代码规范

  .h头文件中使用#ifndef…#define…#endif这一套来将整个.h文件中的代码包括进来,通俗解释为如果没有定义…就定义…,最后用endif结束,防止重复编译,…一般为文件名的大写,如bsp_led.h对应__BSP_LED_H。同时在这个文件里对一些变量进行宏定义,方便移植修改。
  .c文件里写具体实现代码,一般只包括各种外设及其中断的初始化。
  最终在main.c中具体实现调用,实现逻辑等。

五、下载程序

  使用stlink下载没啥好说的,看好接线别错,直接下载就好,如果下载成功没运行就按复位键,看看是否下载就运行的选项没勾。
  使用flymcu通过串口下载程序,rx接tx,tx接rx(rx=receive,tx=trans)。如果硬件没有isp一键下载,就需要拔插boot的跳线帽,将boot0接高,boot1接低,flymcu中选DTR的高电平复位,RST高电平进Bootloader,然后就可以下载,不行的话就按住复位键,当写低功耗的代码时,不慎掉入休眠状态可以使用此方法重新下载新程序。

六、出过的bug

  中文版的keil5,无法使用如结构体“.”后的代码自动补全功能。
  在使用usart时,如果重定向了输入输出,使用c语言的输入输出的函数(printf,scanf等)时一定要把魔术棒里的Target下的Use MicroLib勾选上,不然会卡在一个报错的死循环里。(*初学新建完项目直接移植代码时被坑死了)
  有时keil在切换下载器或芯片后有bug,报错:Flash Download Failed-“Cortex-M3”,直接在选择下载的flash大小里将其remove掉,重新add就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值