Stm32学习笔记一————库函数法点亮LED灯

没学会走就先学会跑,先问问自己是不是天才,如果不是就一步一步慢慢来。

1、创建文件夹LED,用于存放工程文件

keil5->Project->New $\mu$Vision project,保存在LED文件夹中,工程文件命名为LED。

2、选择自己所用的芯片型号,(我用的是STM32F103C8t6)

Stm32学习笔记一————库函数法点亮LED灯_第1张图片

3、勾选固件库

选中:CMSIS>CORE;Device>Startup;>StdPeriphDrivers>Flash;>Framework;>GPIO;>RCC;等
CMSIS>CORE:提供与 Cortex-M0、Cortex-M3、Cortex-M4、SC000 和 SC300 处理器与外围寄存器之间的接口;
Device>Startup:初始化硬件(比如系统时钟设置),初始化堆栈,安排中断向量表等等,完成这些工作后才执行main函数。
StdPeriphDrivers>Flash;>Framework;>GPIO;>RCC:添加所需要的外设。

Stm32学习笔记一————库函数法点亮LED灯_第2张图片

4、新建mian.c文件,并添加到工程项目当中。

右击Source Group1文件夹 Add Existing Files to Group 'Source Group1'

Stm32学习笔记一————库函数法点亮LED灯_第3张图片

5、配置Target,添加方法是点击魔术棒之后,

设置输出HEX文件 ,最终烧录到stm32中。

Stm32学习笔记一————库函数法点亮LED灯_第4张图片

还需要添加一个全局宏定义标识符。进入 C/C++选项卡,然后在 Define 输入框连输USE_STDPERIPH_DRIVER。(==注意==:如果有多个标识符, 他们之间需要用英文的逗号隔开的)

Stm32学习笔记一————库函数法点亮LED灯_第5张图片

6、代码

#include "stm32f10x.h"

#define uint unsigned int
#define uchar unsigned char
#define CLOCK 8  //Crystal oscillator is 8M

// xx us delay
void delay_us(uint us)
{
 uint n;      
 while(us--)for(n=0;n

7 参考链接

  • keil5中新建一个STM32工程
    https://blog.csdn.net/xiebaocheng12138/article/details/78056161
  • 如何用keil5新建STM32 新工程
    https://wenku.baidu.com/view/8fc840f8ac51f01dc281e53a580216fc700a539e.htm
  • STM32 Keil5建立工程模板步骤
    https://blog.csdn.net/ouening/article/details/51542177
  • CMSIS 到底是什么?
    http://www.eefocus.com/freescale007/blog/13-07/295486_07c15.html
  • STM32学习笔记(6): 启动代码(Startup Code)
    https://blog.csdn.net/Cacti_one/article/details/72811281

你可能感兴趣的:(stm32学习笔记)