STM32实现简易电灯控制教程

新建工程的步骤

  • 建立工程文件夹,Keil中新建工程,选择型号
  • 工程文件夹里建立Start、Library、User等文件夹,复制固件库里面
  • 的文件到工程文件夹
  • 工程里对应建立Start、Library、User等同名称的分组,然后将文件
  • 夹内的文件添加到工程分组里
  • 工程选项,C/C++,IncludePaths内声明所有包含头文件的文件夹
  • 工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER
  • 工程选项,Debug,下拉列表选择对应调试器,Settings,Flash
  • Download里勾选Reset and Run
  • 下面来说一下具体步骤:

    一、新建工程

    使用库函数的方式,需要准备一个STM32 库函数的压缩包

    新建一个基于标准库的工程

    新建一个文件夹叫工程模板放本次项目

    固件库获取:

    https://pan.baidu.com/s/1bRC6MWtC7jxyKTCUmBCnRQ?pwd=v4tw

    然后找到:

    固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3

    \DeviceSupport\ST\STM32F10x\startup\arm下的就是STM32的启动文件

    STM32程序就是从启动文件开始执行的。

    将这些文件都拷贝到工程模板中,但是这样全放进去太乱了,可以新建一个文件夹叫start。

    返回到STM32F10x目录

    stm32f10x.h 是用来描述STM32有哪些寄存器和他对应的地址的。

    system_stm32f10x.csystem_stm32f10x.h 是用来配置时钟的

    STM32主频72MHZ,就是system文件里的函数配置的。

    将这三个文件复制下来也粘贴到start文件夹下。

    这两个cm3-(Cortex-M3)文件就是内核的寄存器描述.当然他还带了一些内核的配置函数,所以多了个:c文件,我们把它俩一并复制下来也粘贴到start文件夹下。
    到此为止工程的必要文件就复制完成了。

    返回Keil软件

    双击start

    点击All files

    选择启动文件

    按住CTRl选择这三个然后点击Add

    然后点击close。

    这个图标代表只读文件。

    最后在工程选项里添加上这个文件夹的头文件路径,否则软件找不到.h文件

    点击

    添加main函数看工程是否可行。

    进入工程模板文件夹,新建文件夹叫User.

    右键添加组

    改名为User

    右键添加新文件

    界面右击

    然后编写一个main函数,这里注意main函数是一个int型返回值,void参数的函数。还有文件的最后一行必须要是空行,要不然会报警告。

    #include "stm32f10x.h"                  // Device header
    
    int main(void)
    {
        while(1)
        {
    
        }
    }
    

    点击构建,编译并建立工程

    二、两种电灯方法

    寄存器

    #include "stm32f10x.h"                  // Device header
    
    int main(void)
    {
    	RCC->APB2ENR = 0x00000010;//打开GPIOC的时钟
    	GPIOC->CRH = 0x00300000;
    	//GPIOC->ODR = 0x00000000;//亮
    	GPIOC->ODR = 0x00002000;//灭
    	while(1)
    	{
    		
    	}
    } 
    

    库函数

    新建库文件夹

    misc是内核的库函数,其他的是内核外的外设库函数。

    全部复制到Library中。

    这些是库函数的头文件件全部复制到Library中。

    这三个复制到工程的User下。

    宏定义方法:

    滑到8296行

    库函数的工程建法:

    作者:了一li

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32实现简易电灯控制教程

    发表回复