【前言】
在官方的示例中,有他的Template模块工程:

但是他的固件库是共用文件夹的,在我们用起来,如果有些固件库有修改,会影响其他的工程,所以我这里自己来创建一个工程模块,拷贝后可以直接拿来用。
【步骤】
1、创建Template工程文件夹
PS D:\CW_WHXY\CW32L083Pro\Template> tree
├─CMSIS //存放M0+内核文件
├─HW //硬件驱动
├─Libraries //存放官方驱动库
├─MDK //存放MDK工程文件
├─OBJ //编译输出目录
└─USER //存用用户文件
2、复制固件库到Libraries文件下。
3、打开Keil新建工程,选择目录Template,输入工程名称:

4、选择对应的芯片:

5、添加分组:

6、修改MDK输入目录为OBJ目录:

7、添加头文件目录到工程中:
.\CMSIS\inc
..\USER\inc
..\CMSIS\inc
..\HW\inc
..\Libraries\inc

8、向工程中添加分组分件,添加好后如下图所示:

9、编译后会报cmsis.h头文件错误,需要找到keil的目录复制core_cm0plus.h、cmsis_version.h、cmsis_compiler.h、cmsis_armclang.h、cmsis_armcc.h到CMSIS下面的inc目录下面:

当然如果要用RTOS可能还需要根据编译报错,复制相关文件。

【测试】
编写代码点亮开发板的两个LED灯,来测试工程是否配置正确
#include "main.h"
#define LED_GPIO_PORT CW_GPIOC
#define LED_GPIO_PINS GPIO_PIN_3 | GPIO_PIN_2
void Delay(uint16_t nCount);
int32_t main(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
RCC_HSI_Enable(RCC_HSIOSC_DIV6);
__RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.IT = GPIO_IT_NONE;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pins = LED_GPIO_PINS;
GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
while (1)
{
GPIO_TogglePin(LED_GPIO_PORT, LED_GPIO_PINS);
Delay(0xFFFF);
}
}
/**
* @brief 循环延时
*
* @param nCount
*/
void Delay(__IO uint16_t nCount)
{
/* Decrement nCount value */
while (nCount != 0)
{
nCount--;
}
}下载到开发板,可以正确的点亮LED灯,配件初始基础工程结速。复制文件夹后,就可以在此基础之上进行开发了。
附工程文件:
我要赚赏金
