5.程序实例-LED灯闪烁实验(库函数版本)

您当前位置: 首页 > ROS机器人小车底盘 > STM32平衡小车教程

下载

Keil_MDK.zip  点击下载

   LED 闪烁程序:控制PC13 对应LED灯的点亮和闪烁。(使用库函数实现代码)


    首先看到我们的LED灯电路:

 

3@Y@T7RY()WU%9~4]`B2ZRB.png

    

我们想要控制LED灯,首先我们要看一下STM32IO口,IO口设置函数为GPIO (通用输入/输出 General Purpose Input Output),这个平衡车我们使用的主控芯片是STM32 103FC8T6

 

Q[%6)MHAX0EK66P_L%ER`QK.png


    芯体尺寸:32-位

  速度:72MHz

  外围设备:DMA,电机控制PWM,PWM,温度传感器

  输入/输出数:37

  程序存储器容量:64KB (64K x 8)

  程序存储器类型:FLASH

  RAM容量:20K x 8

  电压-电源(Vcc/Vdd):2 V ~ 3.6 V

  数据转换器:A/D 10x12b

接口类型:CAN,I2C,SPI,UART,USB

 

 

代码分析:

第一步:首先LEDIO口的配置(结构图和函数详解在stm32固件库说明中文版第十项) 这里有一个小知识给大家说一下,为什么设置一个IO口都要设置他的时钟?

回答:所有寄存器都需要时钟才能配置,寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值。STM32为了让用户更好地掌握功耗,对每个外设的时钟都设置了开关,让用户可以精确地控制,关闭不需要的设备,达到节省供电的目的。

 

JFH7)NJS9UKKKND4V31OQDG.png


 

 

第二部:编写主函数

 

 

@D(3TZHHZPO6B03[B7J([XF.png


编译成功后,生成的hex文件烧录到STM32最小系统中(烧录方式在开发指南中),我们可以看到了LED灯闪烁的效果:

snapshot20170511213422.gif