收到CW32饭盒派板子了,先看看板子吧。
难怪叫饭盒派,用饭盒装的。哈哈哈。
打开盒子可以看到整个开发板面貌了。包含开发板主体,下载器和usb线。
![22.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSfZ6AaopEAAjy7ux1wlU935.jpg)
下面欣赏下开发板吧,整体使用 核心板和底板构成。扩展了很多接口,方便外接外设。
![33.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgaomRSfaqASdaSAAqM4_N0eNw285.jpg)
![44.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSfbeAWnGwAApFmlCB-hI302.jpg)
插上USB线上电可以看到出厂程序是ADC采样电压,并在LCD上显示电压值。
![55.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgaomRSfb6AXfaTAAfYyOBesyo646.jpg)
下面就从零开始搭建一个模板工程。首先下载开发板的资料,然后使用KEIL软件新建工程,一步一步实现第一个工程吧。
使用KEIL开发要先安装KEIL的芯片PACK包。装好后就可以新建工程了。
![1.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSf6OACkozAADeMoMibX4047.jpg)
选择开发板型号,然后勾上CMSIS。
![2.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgaomRSf7-AXw3dAADAsKTRykE581.jpg)
下一步就是添加芯片的库文件了。
![3.jpg](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSf-CAaI2fAAFbwz6iPbA239.jpg)
然后要对工程进行设置一下。先选择编译器
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSgK6ALxOCAAEJrGO7DL4449.png)
选上生成HEX文件。
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgaomRSgNCAEy3TAAAqwAYrbbs315.png)
设置优化等级以及头文件路径。
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSgRuAQokVAAE0XOd-Zq4276.png)
如下图设置调试器DAP,开发板连上调试器后就可以看到芯片内核已经识别了。
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgaomRSggGAYODsAAGeuhiycHI825.png)
下面实现一个点灯吧。
根据开发板原理图可知LED的引脚如下。使用了PA7,PA8,PC13脚。
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRSgsWAKccEAABrYDVJ5Qg423.png)
参考例程写了个点灯程序:
#include "main.h"
void Delay(__IO uint16_t nCount)
{
while (nCount != 0)
{
nCount--;
}
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_HSI_Enable(RCC_HSIOSC_DIV6);
__RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.IT = GPIO_IT_NONE;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pins = GPIO_PIN_7 | GPIO_PIN_8;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
while (1)
{
GPIO_TogglePin(CW_GPIOA, GPIO_PIN_7 | GPIO_PIN_8);
Delay(0xFFFF);
}
}
下面编译下载看看效果吧。编译之后会出现2类错误。如下图所示:
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgZomRShVaAFD37AAE17z-0bB4454.png)
一个错误 是__weak关键字不认,还有一个是return的问题。
下面来改一改错误。
将__weak改成大写的__WEAK之后再编译就OK了。return的错误也没有了。
编译成功如图:
![image.png](//www.obk20.com/file1/web2/M00/82/6B/wKgaomRShpWAQl-rAADn3xXlQ7o900.png)
下载之后就可以看到红色的LED灯在闪烁了。
|