003-CH579M学习开发-新建工程说明
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH579M" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
CH579M就是个ARM M0 内核的单片机,其实建立工程没有啥.
只要是STM32玩的好,这节就相当于复习下.
如果STM32玩的不好,这节你也许不知道我说的是啥!
因为这节我十分的直接了当,这节我只是说明建立工程遇到的问题!
开始
1.建一个文件夹
2.文件夹里面再建几个文件
3.把例程src文件夹里面的所有文件拷贝到library
4.新建工程
4.弄三个分组
5.把 library\StdPeriphDriver 里面的所有.c文件添加进去
5.添加启动文件
6.设置下头文件路径
7.新建一个main.c文件
8.把main.c文件添加到user里面
9.编写以下程序,并编译
#include "CH57x_common.h" int main() { }
9.这是因为缺少操作u盘的库文件
U盘,蓝牙,蓝牙组网的库文件是单独的
10.如果不使用单片机驱动U盘,可以把下面两个文件移除,再次编译就不会有错误了
10.如果使用单片机驱动U盘,把U盘库文件添加到工程即可
建一个文件夹用来存放U盘库文件
拷贝库文件
建一个分组,然后把文件添加进去
设置下头文件路径
编译的时候说缺少这两个数组的定义
可以参考源例程里面的定义一下
10.使用串口1打印下,看看单片机是否真的可以工作
#include "CH57x_common.h" __align(4) UINT8 RxBuffer[ MAX_PACKET_SIZE ]; // IN, must even address __align(4) UINT8 TxBuffer[ MAX_PACKET_SIZE ]; // OUT, must even address int main() { GPIOA_SetBits(GPIO_Pin_9); GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU); // RXD-ÅäÖÃÉÏÀÊäÈë GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA); // TXD-ÅäÖÃÍÆÍìÊä³ö£¬×¢ÒâÏÈÈÃIO¿ÚÊä³ö¸ßµçƽ UART1_DefInit(); UART1_SendString("11223344", 8 ); while(1) { } }
其它
例程提供的库函数要比STM32提供的库函数还完善,就是为了用户使用去的.
例程里面已经有个延时函数,也映射了printf函数
假设想使用串口1作为printf打印,可以
注意哈,例程提供的printf是阻塞式的,一般我不用这种,希望大家伙打印日志的时候自己加上环形队列+中断发送.