博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32学习之路-点亮LED
阅读量:4450 次
发布时间:2019-06-07

本文共 1549 字,大约阅读时间需要 5 分钟。

STM32学习笔记—点亮led灯

STM32的I/O口有很多的功能,所以称为GPIO(GENERAL PURPOSE)

其中GPIO又分为A,B,C,D,E,F,G不同的组,每个组端口又分为0~15,共16个不同的引脚,不同的芯片引脚数量也不同,所用的学习板为STM32F103RBT6;

I/O口的八种模式:

输入浮空;                  模拟输入;

输入上拉;                  输入下拉;

开漏输出;                  推挽输出;

推挽式复用功能;  开漏复用功能;

每个I/O口可以自由编程,单I/O口寄存器必须按32位字节被访问。并且很多I/O口都是5V兼容的,手册当中标记FT的就是5V电平兼容的。

I/O的七个寄存器(register:(X=A,B,C,D….G)

32位端口配置低寄存器GPIOX_CRL;      选择作为输入还是输出

32位端口配置高寄存器GPIOX_CRH;     选择作为输入还是输出

32位端口输入数据寄存器GPIOX_IDR;              保存了输入电平还是输出电平

32位端口输出数据寄存器GPIOX_ODR;   保存了输入电平还是输出电平

32位端口位设置/清除寄存器GPIOX_BSRR; 设置控制的数据为0/1

32位端口位清除寄存器GPIOX_BRR;           设置控制的数据为0/1

32位端口配置锁定寄存器GPIOX_LCKR;设置锁定引脚后,不能修改其配置

 

32位端口配置低寄存器GPIOX_CRL(低8位):

 

一个I/O口有16个引脚,低八位配置pin0~pin7引脚;CRL寄存器中每四位控制一个引脚,分别为CNF[1:0]端口配置位和MODE[1:0]端口模式位

当MODEy[1:0]=00即输入模式(复位后的状态);  

CNFy[1:0]=00---模拟输入模式                                                   

                01---浮空输入模式(复位后的状态)

                10---上拉/下拉输入模式

                11---保留

当MODEy[1:0]>00即输出模式       

CNFy[1:0]=00---通用推挽输出模式 MODEy[1:0]=00---输入模式(复位后)

                     01---通用开漏输出模式                 01---输出模式,10MHz

                10---复用功能推挽输出模式        10---输出模式,2MHz

                11---复用功能开漏输出模式        11---输出模式,50MHz

 

例子:配置GPIOC的pin4管脚,其最大输出速度为10MHz的通用推挽输出模式,则:需配置GPIOC_CRL寄存器16到19位的CNFP[1:0]和MODE[1:0]的参数;MODE[1:0]=01,即16、17位写入01;CNF[1:0]=00;

32位端口位设置/清除寄存器GPIOX_BSRR;

 

其中BRy(y=0~31)位用于写入1时实现清零,使引脚输出低电平;BSy(y=0~32)位用于写入1时实现置1;写零是无效的。

 

STM32库的介绍:

  1. startup_stm32f10x_md.s是系统的启动文件,小苗板的芯片为STM32F103RBT6,FLASH为64k-128k之间,属于中等密度产品
  2. stm32f10x.h是把STM32的所有寄存器进行地址的映射,作用如头文件一样;
  3. 源文件core.c和头文件core.h是Cortex-M3核设计商提供的进入M3的内核接口
  4. system_stm32f10x.c是设置系统时钟和总线时钟
  5. stm32f10x_gpio.c是配置I/O口的库
  6. stm32f10x_rcc.c是每个外设都需要的头文件,用于配置系统时钟的外设时钟,包含了相应外设的C语言函数实现的声明,只有把头文件一起包含到工程中才能使用这些外设库
  7. stm32f10x_conf.h是专门用来管理所有库的头文件

转载于:https://www.cnblogs.com/vilsen-stm32/p/4375452.html

你可能感兴趣的文章
视图系统
查看>>
Palindromes _easy version
查看>>
vue 小记
查看>>
应用程序框架实战十:开发环境准备与学习资料清单
查看>>
CURRICULUM VITAE
查看>>
菱形缓冲器电路
查看>>
窗函数
查看>>
盲点流水账记录
查看>>
08多态
查看>>
Groovy 程序结构
查看>>
使用 WordPress 的导航菜单
查看>>
input只能输入数字和小数点,并且只能保留小数点后两位 - CSDN博客
查看>>
js 不固定传参
查看>>
远程调试UWP遇到新错误Could not generate the root folder for app package ......
查看>>
centos6.5 yum update 报错Couldn't resolve host 'centos.ustc.edu.cn'
查看>>
jQuery 序列化表单数据
查看>>
Java字符串StringTokenizer学习
查看>>
箭头函数与普通函数的区别
查看>>
怎样解决:未找到路径“……”的控制器或该控制器未实现 IController?
查看>>
python 特殊方法之new
查看>>