STM32微控制器综合实训3 流水灯

实验3 按键输入文章目录基于数组的方式实现流水灯的循环左移led.cmain.c编译仿真基于函数的方式实现流水灯的循环左移LED_Mzz.cLED_Mzz.hmain.c编译仿真基于syslick中断的方式实现流水灯的循环左移main.cstm32f10x_it.c编译仿真总结基于数组的方式实现流水灯的循环左移led.cLED_Init在这里插入代码片main.c编译仿真基于函数的方式实现流水灯的循环左移LED_Mzz.cLED_Mzz.hmain.c编译仿真基于syslick中
摘要由CSDN通过智能技术生成
实验3 流水灯

STM32通过数组的方式、宏定义的方式、函数的方式和Systick中断的方式实现跑马灯的循环移位。

基于数组的方式实现流水灯的循环左移

led.c

LED_Init

void LED_Init(void)
{
   
 GPIO_InitTypeDef  GPIO_InitStructure;
 //1、开启时钟
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); 
 //2、指定哪些引脚需要修改
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4
                           |GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
                           |GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14
                           |GPIO_Pin_15;
 //3、IO口的属性设置
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    //推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;   //LED的话2M就行
 GPIO_Init(GPIOE, &GPIO_InitStructure);        //推挽输出 ,IO口速度为50MHz
}

一般来说,GPIO初始化工作主要有三步:
1、开始时钟
2、指定哪些引脚需要修改
3、IO口的属性设置

main.c

LED[16]

LED[16]={
   0xfffe,0xfffd,0xfffb,0xfff7,
         0xffef,0xffdf,0xffbf,0xff7f,
         0xfeff,0xfdff,0xfbff,0xf7ff,
         0xefff
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值