首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >003-CH579M学习开发-新建工程说明 CH579M就是个ARM M0 内核的单片机,其实建立工程没有啥.只要是STM32玩的好,这节就相当于复习下.如果STM

003-CH579M学习开发-新建工程说明 CH579M就是个ARM M0 内核的单片机,其实建立工程没有啥.只要是STM32玩的好,这节就相当于复习下.如果STM

作者头像
杨奉武
发布2021-07-20 11:28:02
发布2021-07-20 11:28:02
6120
举报
文章被收录于专栏:知识分享知识分享

<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.编写以下程序,并编译

代码语言:javascript
复制
#include "CH57x_common.h"

int main()
{
    
}

9.这是因为缺少操作u盘的库文件

U盘,蓝牙,蓝牙组网的库文件是单独的

10.如果不使用单片机驱动U盘,可以把下面两个文件移除,再次编译就不会有错误了

10.如果使用单片机驱动U盘,把U盘库文件添加到工程即可

建一个文件夹用来存放U盘库文件

拷贝库文件

建一个分组,然后把文件添加进去

设置下头文件路径

编译的时候说缺少这两个数组的定义

可以参考源例程里面的定义一下

10.使用串口1打印下,看看单片机是否真的可以工作

代码语言:javascript
复制
#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是阻塞式的,一般我不用这种,希望大家伙打印日志的时候自己加上环形队列+中断发送.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
    • 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.编写以下程序,并编译
    • 9.这是因为缺少操作u盘的库文件
      • U盘,蓝牙,蓝牙组网的库文件是单独的
    • 10.如果不使用单片机驱动U盘,可以把下面两个文件移除,再次编译就不会有错误了
    • 10.如果使用单片机驱动U盘,把U盘库文件添加到工程即可
      • 建一个文件夹用来存放U盘库文件
      • 拷贝库文件
      • 建一个分组,然后把文件添加进去
      • 设置下头文件路径
      • 编译的时候说缺少这两个数组的定义
      • 可以参考源例程里面的定义一下
    • 10.使用串口1打印下,看看单片机是否真的可以工作
  • 其它
    • 例程提供的库函数要比STM32提供的库函数还完善,就是为了用户使用去的.
    • 例程里面已经有个延时函数,也映射了printf函数
    • 假设想使用串口1作为printf打印,可以
    • 注意哈,例程提供的printf是阻塞式的,一般我不用这种,希望大家伙打印日志的时候自己加上环形队列+中断发送.
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档