【STM32】——基于stm32最小系统点亮LED流水灯

一、实验原理

   STM32F103C8T6简介

    STM32F103C8T6是一款由意法半导体公司推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。

二、接线图

耗材准备:八个led灯,一块stm32F103C8T6核心板,STLINK驱动以及几根电源地线

led正极插到正极供电孔负极依次插到PA0-PA7的端口 

实物图:

三、GPIO初始化设置

1,根据芯片手册查询端口地址

如上图所示,GPIOA的地址在0x40010800-0x40010BFF之间,GPIOB、GPIOC均可查询得到 

2,GPIO端口初始化配置

1.打开GPIOA时钟

RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA, ENABLE);

2.初始化端口

这里我们选用的流水灯是GPIOA的0到7端口,在编写代码时,在端口处添加GPIO_Pin_1以及Pin2直至八个引脚都选上,可直接替换成    GPIO_Pin_AII     原因:将十六进制转换为二进制为 0xFFFF   也就是所有位都为1,选中所有引脚,直接将16个端口设置为推挽输出。

 

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0  |  GPIO_Pin_1  |  GPIO_Pin_2.......;     

3.主循环

1.为了同时控制16个端口,使用

参数1:GPIOx

参数2:指定写到输出数据寄存器的值,对应PA0-PA15,总共16个端口

GPIO_Write (GPIOA,~0x0001);   

4.延时函数

  Delay_ms(500);  可自定义延时时间

5.复制

GPIO_Write (GPIOA,~0x0001);  

 Delay_ms(500);

依次改为 01,02,04,08,10,20,40,80

四、功能实现

由于不能插入视频,所以这里就不做演示了,大家可以实现流水灯就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值