STM32F469I的学习之旅先从最基础的流水灯开始,收到开发板已经两三天了,今天终于有时间了,就先拿流水灯练练手,作为学习的开端。。。。
1.首先STM32F469I提供了4个LED等,其分别接在LED1--PG6,LED2--PD4,LED3--PD5,LED4--PK3,如下图所示
2.查看STM32F469NIHx数据手册,找到STM32F469NIHx的GPIO看挂载在哪个总线上,经查看发现挂载在AHB1高速时钟总线上,如下图所示。
3.建立基于固件库的工程,编写C语言代码进行测试
(1)时钟使能
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOG|RCC_AHB1Periph_GPIOK, ENABLE);
(2)GPIO初始化
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType=GPIO_OType_OD;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 |GPIO_Pin_3;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed=GPIO_High_Speed;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_Init(GPIOK, &GPIO_InitStructure);
(3)在主函数的while(1)循环中设置LED1~LED4所对应的GPIO使其点亮或熄灭
GPIO_SetBits(GPIOG, GPIO_Pin_6); //LED1
GPIO_ResetBits(GPIOD, GPIO_Pin_4 );//LED2
GPIO_ResetBits(GPIOD, GPIO_Pin_5 );//LED3
GPIO_ResetBits(GPIOK, GPIO_Pin_3 );//LED4
delay_ms(500);
(4)编译下载到开发板验证。
至此流水灯程序测试结束,新手上道,如有什么错误或不妥之处还望各位前辈不吝赐教,谢谢!
LED.zip
(560.38 KB)
|