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是阻塞式的,一般我不用这种,希望大家伙打印日志的时候自己加上环形队列+中断发送.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-07-19 1-移远GSM/GPRS M26 模块 Mini板 开发板(使用说明)
2018-07-19 5-(基础入门篇)学会刷Wi-Fi模块固件(刷LUA版本固件)