STM32f103mini第二个项目 跑马灯

一,跑马灯硬件连接

e71c749653b24095a7995aecec054cea.png

 916dae0e3c2c4057a937f343b2f616d5.png

 

 跑马灯目的实现LED0和LED1交替闪亮,如图所示LED0对应为PA8,LED1对应PD2。

(此时GPIO输出方式为推挽输出,推挽输出可以输出高低电平,从而控制LED的亮灭)

IO口输出高电平,LED灭,输出低电平,LED点亮。

二,库函数介绍 

 1    头文件:stm32f10x_gpio.h

        源文件:stm32f10x_gpio.c

2   重要函数

        1个初始化函数:  void  GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);

  作用:初始化一个或者多个IO口的工作方式和速度。

     {

      uint16_t GPIO_Pin;                                    指定要初始化的IO口 

15f13cd9e697459698581bd342fe6386.png

 

     GPIOSpeed_TypeDef GPIO_Speed;        设置IO口输出速度

 5a9e71dd14a34dda93cf06486d92ac39.png

 

     GPIOMode_TypeDef GPIO_Mode;           设置工作模式(推挽输出)

e13ffe6b8bc24eb2ac44e211f727c6e0.png

        2个读取输入电平函数:

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin);

  作用:读取某个GPIO的输入电平,实际操作GPIOx_IDR寄存器。

  例如:GPIO_ReadInputDataBit(GPIOA GPIO_Pin_5);读取GPIOA.5的输入电平

unit16_t GPIO_ReadInputData(GPIO_TypeDef*GPIOx);

  作用:读取某组GPIO中的所有IO口输入电平,实际操作GPIOx_IDR寄存器。

         2个读取输出电平函数(同上):

uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin);

   作用:读取某个GPIO的输出电平,实际操作GPIOx_ODR寄存器

unit16_t GPIO_ReadOutputData(GPIO_TypeDef*GPIOx);

  作用:读取某组GPIO中的所有IO口输出电平,实际操作GPIOx_ODR寄存器。

        4个设置输出电平函数:

        void GPIO SetBits(GPIO_TypeDef* GPIOx, unit16_t GPIO_Pin);

  作用:设置某个IO口输出为高电平,操作于BSRR寄存器。

        void GPIO ReseBits(GPIO_TypeDef* GPIOx, unit16_t GPIO_Pin);

  作用:设置某个IO口输出为低电平,操作于BRR寄存器。

        void GPIO_WriteBit(GPIO_TypeDef* GPIOx, unit16_t GPIO_Pin,BitAction BitVal);

        void GPIO_Write(GPIO_TypeDef*GPIOx, unit16_t PortVal) ; 

  这两个函数也是设置IO口输出电平。

     }

 三,程序步骤

使能IO口时钟。调用函数RCC_APB2PeriphColckCmd();

初始化IO口模式,调用GPIO_Init();

操作IO口,输出高低电平。

GPIO_Setbits();

GPIO_ResetBits();

四,涉及工程

244e7a40a4df4c5780683f7ba3d38542.png

 1,USER部分

        stm32f10x_it.c来定义部分中断服务函数

        System_stm32f10x.c来定义SystemInit等时钟初始化函数

2,HAREWARE

        提供外部硬件相关的驱动函数

3,SYSTEM

        包括延时函数,IO口位操作以及串口相关函数

4,CORE

        存放固件库核心文件和启动文件

5,FWLIB

        存放固件库源文件和头文件

6,README

        注意事项

 五,具体程序

5383f54d435d45719cae8afb6360b2c2.png

 4400f1009e674dab9525cd676618dbc1.png

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值