stm32f2系列 学习笔记之LED跑马灯
2013-03-08 11:14
323 查看
查看开发板原理图,找到LD1,LD2,LD3,LD4对应的端口(PG6,PG8,PI9,PC7),配置GPIO端口为推挽模式输出,使能端口的时钟配置。
/*为PG,PI,PC送时钟信号*/
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOI, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
/*配置各个端口,将端口设置为推挽输出模式*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOI, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOC, &GPIO_InitStructure);
/*对各个管脚进行置位和复位*/
void LED(void)
{
GPIO_SetBits(GPIOG,GPIO_Pin_6);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOG,GPIO_Pin_6);
Delay(0xAFFFF);
GPIO_SetBits(GPIOG,GPIO_Pin_8);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOG,GPIO_Pin_8);
Delay(0xAFFFF);
GPIO_SetBits(GPIOI,GPIO_Pin_9);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOI,GPIO_Pin_9);
Delay(0xAFFFF);
GPIO_SetBits(GPIOC,GPIO_Pin_7);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOC,GPIO_Pin_7);
Delay(0xAFFFF);
}
/*为PG,PI,PC送时钟信号*/
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOI, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
/*配置各个端口,将端口设置为推挽输出模式*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOI, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;
GPIO_Init(GPIOC, &GPIO_InitStructure);
/*对各个管脚进行置位和复位*/
void LED(void)
{
GPIO_SetBits(GPIOG,GPIO_Pin_6);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOG,GPIO_Pin_6);
Delay(0xAFFFF);
GPIO_SetBits(GPIOG,GPIO_Pin_8);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOG,GPIO_Pin_8);
Delay(0xAFFFF);
GPIO_SetBits(GPIOI,GPIO_Pin_9);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOI,GPIO_Pin_9);
Delay(0xAFFFF);
GPIO_SetBits(GPIOC,GPIO_Pin_7);
Delay(0xAFFFF);
GPIO_ResetBits(GPIOC,GPIO_Pin_7);
Delay(0xAFFFF);
}
相关文章推荐
- 软件构造系列学习笔记(2.2)————软件构建的过程,系统和工具
- 在被窝里看书系列之《Windows PE 权威指南学习》笔记 第二章
- Sharepoint学习笔记 –架构系列—Sharepoint的服务器端对象模型(Server Object Model) 2.内容层次结构
- ASP.NET Core 2.0系列学习笔记-ORM框架之Dapper
- 【C++】学习笔记草稿版系列1(C到C++类型安全增强)
- struts2系列学习笔记(12)---------------Struts2在OGNL基础上的增强
- ARM Cortex-M0+Kinetis L系列学习笔记_GPIO端口设置
- vimcasts视频教程系列学习笔记1.显示不可见的字符(Show invisbles)
- ARM底层学习笔记-裸板实验程序解析-点亮LED
- Deep Learning(深度学习)学习笔记整理系列之(一)
- 低功耗蓝牙cc2541学习笔记之LED-1
- Lua入门系列----pil学习笔记之Getting Start
- Deep Learning(深度学习)学习笔记整理系列之(八)
- 【Solr4.7.0学习笔记】系列之一:Tomcat7中搭建Solr 4.x(4.7.0)
- Deep Learning(深度学习)学习笔记整理系列之(一)
- CLR Via C#系列学习笔记之委托
- MEF学习系列笔记系列(1)
- 自学Java系列 笔记5 Java学习之HashMap和Hashtable的区别
- 自学Android系列 笔记2 Android 学习之toast
- Deep Learning(深度学习)学习笔记整理系列之(五)