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还太快的原因,一直没把它点亮…明天加延时跟修改下其他的,看看能不能把它点亮。
{
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还太快的原因,一直没把它点亮…明天加延时跟修改下其他的,看看能不能把它点亮。
STM32GPIO入门学 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)