首先呢,很感谢这次ST的活动,有幸获取五块开发板,选型的时候,想到一直都没玩过M0,所以选择了这块STM32F030 Nucleo64开发板来玩玩我们先看看这颗芯片的外设:
64KFlash,8K的RAM,16*12bit的ADC,SPI、I2C、USART各2路,在JLC上查过,售价5个大洋左右,性价比还算不错  
和以前玩其他单片机一样,先从点灯开始吧!
点灯前呢,先看看这颗芯片的时钟树:
由于这块开发板留了HSE的接口,但是没有把晶振焊接上去,我也懒得翻箱找晶振了,干脆用HSI来玩算了  
这次,用HSI/2当做PLL输入,12倍频到48MHz(已经是这颗芯片的最高速度了!)
我们可以打开参考手册P94页看看具体的配置步骤:
贴上代码:
- void SystemClock_Config(void)
- {
然后我们来配置GPIO,板子的LD2是挂在PA5上的:
- /*
- LED2<----->PA5
- */
- //LED IO初始化
- void LED_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); //使能PA端口时钟
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED0-->PA.5 端口配置
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
- GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
- GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.5
- GPIO_ResetBits(GPIOA, GPIO_Pin_5); //PA.5 输出低电平
- }
-
到了这里就完成点灯这个步骤,如果让LED闪烁起来,那写一个简单的delay即可,我们这里顺带把Cortex-M0内核的嘀嗒定时器玩起来,让这个定时器完成delay功能,具体代码可参考官方例程,这里就不具体描述了(LZ的文笔有限,见笑了  )
工程代码如下:
STM32F030_LED.rar
(1.52 MB, 下载次数: 14)
|