自己做的灵动微MM32F003TW样板回来了一个多月了,一直没时间焊接调试。最近手头的项目告一段落,于是把样板焊起,计划根据自己的样板硬件配置修改官方例程,把全部功能跑一边。
一般我们拿到一款新单片机的板子,会首先验证最简单的gpio功能,通过控制gpio,点个led什么的。样板上有两个led,分别接到了MM32F003TW的PB0、PB1,例程实现两个led的交替闪烁。
这个例程很简单,分两个步骤即可完成。
1 初始化PB0、PB1
void GPIO_ConfigInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_Clock_Set(GPIOB, ENABLE); //打开GPIOB的时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; //配置脚位号
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽输出
GPIO_Init(GPIOB, &GPIO_InitStructure); //将GPIO配置写入寄存器
}
2 交替设置GPIO高低电平输出
int main(void)
{
GPIO_ConfigInit();
while(1) {
GPIO_SetBits( GPIOB, GPIO_Pin_1); //PB1输出高电平
GPIO_ResetBits( GPIOB, GPIO_Pin_0); //PB0输出低电平
delay(1000000);
GPIO_ResetBits( GPIOB, GPIO_Pin_1); //PB1输出低电平
GPIO_SetBits( GPIOB, GPIO_Pin_0); //PB0输出高电平
delay(1000000);
}
}
官方例程的修正已基本完成,需要程序的同学可以到百度网盘下载。
提取码:0o5i