由于板子上没有焊外部晶振,所以选择HSI(16MHZ)为时钟源通过PLL倍频。 在第一帖中http://forum.eepw.com.cn/thread/277383/1写了一个简易的代码体验了一下工程的建立。其中没有配置时钟,程序在2MHZ的时钟频率下运行。程序效果是LED灯闪烁,程序中有一段延时是这么写的:
void delay_test() { uint32_t ui_delay = 0xffff; while(ui_delay--); }
打开STM32CUBEMX,选择新建工程,选择型号后配置外设资源:
板子上LED2接在PA5引脚上,所以配置PA5为输出模式
再配置时钟:
生成项目:
打开项目文件夹后,进入工程文件夹,打开MDK的工程:
在main.c中添加上面提到的延时函数,在添加如下代码作为测试:
int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* Configure the system clock */ SystemClock_Config(); /* System interrupt init*/ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* USER CODE BEGIN 3 */ /* Infinite loop */ while (1) { HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); delay_test(); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET); delay_test(); } /* USER CODE END 3 */ }