CH582-1-点亮LED
硬件准备
沁恒CH582M-R0-1V0开发板
USB-TTL模块
软件准备
- CH582M是wch自研的
青稞RISC 处理器 WCH RISC-V4A,所用的开发环境也是沁恒出品的IDE:mouneriver: http://mounriver.com/ - 固件库可以在wch的官网下载到,这里直接下载Evt (Engineering Validation Test, 工程原型机)包:http://www.wch.cn/downloads/CH583EVT_ZIP.html
- WCH-ISP,这个是沁恒单片机的USB/UART下载工具,如果不使用RVSWD下载的话,必须使用该软件将代码下载到开发板上,对于
ch57x/58x来说,沁恒推荐的下载方式是USB>UART>RVSWD。这里我们使用UART下载,因为UART在正常使用的时候还可以充当串口助手嘛,可以少接一些线。不过这里推荐使用5V的电源接到开发板的5V引脚上,然后用开发板自带的ldo来转到3.3V,因为这样可以使用板载的滑动开关来控制电源,非常重要。
Evt包的文件目录如下:
文件目录
|
|-- CH583: 低功耗蓝牙 - 32位RISC-V内核微控制器
| |-- CH583安卓OTA升级工具V1.1: CH583 OTA相关例程配套APP升级工具及源码
| |-- EVT: CH583相关例程
| | |-- EXAM:
| | | |-- SRC
| | | | |-- Ld:link文件
| | | | |-- RVMSIS:内核系统头文件
| | | | |-- Startup:CH58x系列启动文件
| | | | |-- StdPeriphDriver:基本外设驱动源文件及头文件
| | | |-- ADC:adc采样例程,包括温度检测、单通道检测、差分通道检测、TouchKey检测、中断方式采样
| | | |-- FLASH:片上flash例程:包括Code区,DataFlash区的擦/读/写
| | | |-- I2C:I2C例程,Master/Slave 模式数据收发,详细说明参考根目录<I2C接口使用指南.PDF>文档
| | | |-- PM:系统睡眠模式并唤醒例程:GPIOA_5作为唤醒源,共4种功耗等级
| | | |-- PWMX:PWM4-11输出功能例程
| | | |-- SPI0:SPI0例程,Master/Slave 模式数据收发
| | | |-- TMR:定时器功能例程
| | | |-- UART1:串口1收发例程
................................此处省略一万字.................
这里就可以直接打开各个工程文件。
代码编写
打开:CH583EVT\EVT\PUB\CH583SCH.PDF,可以看到有两个LED灯分别接到了排针的最上方的引脚,我们可以直接用跳线帽或者杜邦线将其连接到GPIO上。这里我将其连接到最近的PB18,PB19
废话不多说,直接上代码:代码非常简单,甚至不需要注释:
#include "CH58x_common.h"
int main() {
//配置系统时钟,启动文件并没有执行SystemInit函数的代码,所以系统的时钟需要在main函数里配置
SetSysClock(CLK_SOURCE_PLL_60MHz);
//非常简单的GPIO_Init
GPIOB_ModeCfg(GPIO_Pin_18, GPIO_ModeOut_PP_5mA);
GPIOB_ModeCfg(GPIO_Pin_19, GPIO_ModeOut_PP_5mA);
while(1)
{
//直接用宏实现了电平的翻转
GPIOB_SetBits(GPIO_Pin_18|GPIO_Pin_19);
DelayMs(500);
GPIOB_ResetBits(GPIO_Pin_18|GPIO_Pin_19);
DelayMs(500);
}
}
- 将代码编译完成后,打开wch-isp,选择CH58x系列,选择芯片型号和下载方式,用户程序文件,然后点击下载按钮。
- 将开发板的滑动开关断电,再上电,如果启用了串口免按键下载的话,就会自动下载固件,如果没有启用,则需手动按住Download键,再执行上述过程 。
本文介绍了如何使用沁恒CH582M开发板进行LED点亮实验。首先,准备CH582M开发板和USB-TTL模块等硬件,接着在沁恒IDE中下载固件库和Evt包。通过WCH-ISP工具,利用UART将代码下载到开发板,并展示了简单的LED控制代码。最后,指导如何通过滑动开关和下载键进行固件更新。
2199





