文章目录

  • 目的
  • 官方库
  • 工程模板
  • 使用例程
  • 总结

目的

现在开发单片机大多数时候都是面向库开发的,这里将简单介绍下CH32V307的官方库。

在开发过程中新建项目时通常会从某些模板开始,模板包含了库和初始化代码等内容,有一定的组织好的目录结构,使用模板可以加速开发过程。这里也将介绍下使用MounRiverStudio进行开发时的模板内容。

一些基础的内容可以参考文章《沁恒CH32V307单片机入门(01):基础说明与流程体验》:
https://blog.csdn.net/Naisu_kun/article/details/128734532

官方库

在前面文章提到的 CH32V307评估板说明及参考应用例程EXAM 目录下的 SRC 目录中就是官方库了。

Ld:链接脚本
链接脚本中主要就是一些符号定义和内存空间分配配置等。主要包括:程序入口定义、栈大小定义、FLASH和RAM位置与大小、内存中各个分段大小设置等。

Startup:启动文件
根据链接脚本定义的程序入口,系统启动后程序从这里开始运行。这里将数据在内存上进行初始化,然后设置堆栈,初始化中断和浮点,调用 SystemInit 函数初始化系统时钟,最后调用 main 函数。
目前有两个启动文件: startup_ch32v30x_D8.S 适用于CH32V303系列, startup_ch32v30x_D8C.S 适用于CH32V307-CH32V305系列,在 ch32v30x.h 文件中宏定义来选择相应的文件。

Core:内核系统头文件
这里主要用于中断控制器及相关功能。另外很多常用数据类型别名定义也在这里。

Peripheral:基本外设驱动源文件及头文件
这个目录下主要就是各种外设使用相关的库了:

ch32v30x.h 这个文件中定义了选择哪个启动文件、内外部时钟基准频率、外设用到的各种数据结构和宏定义等。

Debug:延时函数、串口调试源文件及头文件
这里包含了最常用的延时函数和打印输出功能。默认情况下通过UART1打印输出,可以修改头文件中宏定义来选择其它串口。

工程模板

这里将对NoneOS和FreeRTOS两种模板进行介绍。

NoneOS

ch32v30x_conf.h :这个文件中引入了大部分的外设库文件,可以根据自己的需求调整;
ch32v30x_it.h/ch32v30x_it.c :中断服务程序;
main.c :主程序;
system_ch32v30x.h/system_ch32v30x.c :系统时钟初始化,系统时钟调整可以在此处进行;

FreeRTOS

这个没有什么需要特别说明的,相比不带操作系统的新增了操作系统源码和配置代码。

使用例程

CH32V307评估板说明及参考应用例程EXAM 目录下除了官方库源码外其余内容都是官方例程:

进入相应的例程,双击里面 .wvproj 格式文件就会启动IDE打开例程:

可以在和 EXAM 同级的 PUB 目录中找到《CH32V30x评估板说明书》,其中描述了例程打开、编译、下载、仿真等操作方法。

总结

沁恒CH32V307单片机官方的库和通过IDE建立的工程模板结构上还是比较清晰的,上手起来比较简单。更深入的使用方面的内容可以通过官方例程来学习。

沁恒CH32V307单片机入门(02):官方库与工程模板介绍相关推荐

  1. 沁恒CH32V307单片机入门(01):基础说明与流程体验

    文章目录 目的 基础说明 芯片介绍 资料与工具 开发环境 流程体验 开发 调试 下载 总结 目的 工作这几年单片机主要就接触过 Atmel.Renesas.Microchip.ST 这些厂家的,最近几 ...

  2. Winbond W25Qxx SPI FLASH 使用示例(基于沁恒CH32V307单片机)

    文章目录 目的 基础说明 使用示例 总结 目的 Winbond(华邦)的 W25Qxx 系列 SPI FLASH 是比较常用的芯片,这篇文章将演示单片机中通过SPI使用该芯片的操作过程. 本文使用沁恒 ...

  3. 沁恒CH32V307使用记录:使用TIM输出PWM信号

    文章目录 目的 基础说明 使用例程 总结 目的 使用TIM输出PWM信号是单片机中比较常用的一个功能.这篇文章将对CH32V307中相关内容进行说明. 本文使用沁恒官方的开发板 (CH32V307-E ...

  4. 沁恒CH32V307使用记录:GPIO与EXTI

    文章目录 目的 GPIO(通用输入输出接口) 基础说明 初始化 输出 输入与电平读取 锁定机制 EXTI(外部中断) 基础说明 使用演示 总结 目的 GPIO是单片机最基础的功能,EXTI最常用的场景 ...

  5. 沁恒CH32V307使用记录:SPI基础使用

    文章目录 目的 基础说明 使用演示 其它补充 总结 目的 SPI是单片机中比较常用的一个功能.这篇文章将对CH32V307中相关内容进行说明. 本文使用沁恒官方的开发板 (CH32V307-EVT-R ...

  6. 沁恒CH32V307嵌入式比赛开发心得

    开发版介绍 板载资源: CH32V307VCT6 ES8388 音频采集与播放 AP3216C 距离与环境光传感器 (ALS&PS) 128 Mbit 板载 Flash Type-C USB ...

  7. 1、新建基于标准固件库MDK5工程模板(STM32F103ZET6)

    新建基于标准固件库MDK5工程模板 1.STM32官方库文件夹介绍 如上图,是ST官方提供的STM32标准固件库的文件包结构: STM32官方固件库下载地址: "https://www.st ...

  8. 沁恒微CH32V307开发板试用-RT-Thread+UART+LWIP+LED

    CH32V307V-R0 是 南京沁恒微电子(WCH) 推出的一款基于 RISC-V 内核的开发板,最高主频为 120Mhz,该开发板芯片为 CH32V307-R0. 芯片资料:32位互联型RISC- ...

  9. [沁恒单片机系列]一、Keil中添加沁恒单片机型号

    [沁恒单片机系列]一.Keil中添加沁恒单片机型号 1.前言 2.解决方法 1.前言 偶然了解到沁恒的CH552T带的USB单片机,价格非常美丽,性能也不错,主频高达24MHZ,官方提供的WCHSPT ...

最新文章

  1. 软件架构是软件的组织形式
  2. 线结构光平面标定矩阵变换算子
  3. Windows Vista Ultimate试用
  4. 最大质因子序列(信息学奥赛一本通-T1410)
  5. javascript+div实现鼠标划过,切换层效果
  6. 优秀的CSS布局大全
  7. 蔚来2018年平均每天亏掉2641万,车辆交付预期环比腰斩
  8. 男人30岁以前要作的事
  9. test Math
  10. oracle同时删除一行数据,oracle 多表删除 同时删除多表中关联数据
  11. C语言电影院售票系统
  12. java中的this是什么意思
  13. 有哪些文艺而有韵味的句子?
  14. SQL server查询试题
  15. 黑马程序员Node.js全套入门教程的学习笔记
  16. 小程序内配置公众号关注组件
  17. PS绘制扁平化风格相机镜头UI图标
  18. 阿维塔6000+交付量再创新高,持续聚焦“悦己”诉求
  19. 一款恋爱星座男女配对微信小程序源码
  20. CXF框架的一些问题

热门文章

  1. 水利部:去年土地出让金270亿投向农田水利
  2. 计算机音乐谱despacito,西语神曲:《Despacito 》附小提琴谱
  3. PhpStorm2020 + phpstudyV8 +XDebug
  4. 认识ODBC、OLEDB、ADO
  5. 南开大学计算机学院导师邢,南开大学计算机系导师--苏明
  6. 拿走不谢,孕妈想知道的都在这里了,关于分娩前见红
  7. 工作中遇到的小问题的记录
  8. Android毕业设计——基于Android+Eclipse的手机安全卫士设计与实现(毕业论文+程序源码)——手机安全卫士
  9. 用Unity做一个萌萌哒游戏(附资源)
  10. DFA算法实现敏感词过滤