微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32 GPIO入门学习

STM32 GPIO入门学习

时间:11-13 来源:互联网 点击:
LED_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//开GPIOC时钟
PC.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
PC.GPIO_Mode = GPIO_Mode_Out_PP;
PC.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOC, &PC);

}

void Delay(vu32 nCount)
{
for(; nCount != 0; nCount—);
}

main()
{
LED_Init();
while(1)
{ GPIO_SetBits(GPIOC, GPIO_Pin_6);//GPIOC.6=1
Delay(0x8ffff);
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//GPIOC.6=0
Delay(0x8ffff);
GPIO_SetBits(GPIOC, GPIO_Pin_7);//GPIOC.7=1
Delay(0x8ffff);
GPIO_ResetBits(GPIOC, GPIO_Pin_7);//GPIOC.7=0
Delay(0x8ffff);
GPIO_SetBits(GPIOC, GPIO_Pin_8);//GPIOC.8=1
Delay(0x8ffff);
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//GPIOC.8=0
Delay(0x8ffff);
GPIO_SetBits(GPIOC, GPIO_Pin_9);//GPIOC.9=1
Delay(0x8ffff);
GPIO_ResetBits(GPIOC, GPIO_Pin_9);//GPIOC.9=0
Delay(0x8ffff);
}

}

把LED的正极连在GPIO的6-9pin上,负极都连到地上后,Rebuilt All~然后Download and Debug… 然后在调试界面里面Run~ 嘿嘿 看到跑马灯效果了…N年前开始玩51的时候也是这个开始的…不过那个程序多简单- -||| 直接把一个1位移,然后PC等于过去就行了…

跑马灯之后我又试着用5个GPIO口来驱动一个串口的点阵屏幕,估计是2MHz还太快的原因,一直没把它点亮…明天加延时跟修改下其他的,看看能不能把它点亮。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top