【沁恒CH582】2,编译环境+第一个LED程序
[复制链接]
1,下载必要的软件
(1)编译软件Mounriver(必选) 下载地址:http://mounriver.com/
(2)WCH-ISP(可选),这个是沁恒单片机系列芯片程序烧录软件,支持用户程序烧录、校验以及DataFlash操作,支持USB、串口以及
网络三种接口。
下载地址:http://www.wch.cn/download/WCHISPTool_Setup_exe.html
(3)CH583评估板说明及参考应用例程,包含BLE蓝牙应用、MESH组网、USB-Host/Device、串口、SPI接口、I2C接口、ADC模数转换、
RTC等例程。
http://www.wch.cn/downloads/CH583EVT_ZIP.html
2,编译环境的搭建
我下载的是当前的最新版MounRiver_Studio_Setup_V160
安装过程一路“下一步”,安装后的空间需要2个G,需要的空间还是比较大的。安装好软件后第一次启动默认是英文界面,可以点击
Help更改语言。
然后将CH583EVT_ZIP里的EVT-EXAM文件夹全部解压出来,里面有各种例程,这个非常好哦,可以非常快速的上手。
CH583_List.txt里面有文件目录,可以看一下。
然后就是直接打开某个例程,然后学习和修改就可以了。
3,下载程序
点击工具栏-工具-WCH单片机编程工具(ISP)。然后选择芯片的型号,下载方式,用户程序文件(*.HEX)。然后按住开发板上的
Download按键不放,关闭电源开关S1,再打开电源开关S1,然后松开Download按键,就可以看到USB设备列表里出现“型号CH582---1号
设备”,然后点击下载,程序可以下载后执行了。
4,LED闪烁程序
我这里先要用定时器控制LED的闪烁,所以打开TRM文件里的例程。
直接删掉不需要的,然后修改成自己想要的,原例中GPIO_Pin_15的管脚距离LED太远,改成GPIO_Pin_18,并用跳线帽短接PB18和LED1
就可以了。然后重新编译工程,看到编译结果“Build Finished. 0 errors, 0 warnings.”就OK了。
#include "CH58x_common.h"
__attribute__((aligned(4))) UINT32 CapBuf[100];
UINT8V capFlag = 0;
void main()
{
UINT8 i;
SetSysClock( CLK_SOURCE_PLL_60MHz );
/* 定时器0,设定100ms定时器进行IO口闪灯, PB18-LED */
GPIOB_SetBits( GPIO_Pin_18 );
GPIOB_ModeCfg( GPIO_Pin_18, GPIO_ModeOut_PP_5mA );
TMR0_TimerInit( FREQ_SYS / 2 ); // 设置定时时间 100ms
TMR0_ITCfg( ENABLE, TMR0_3_IT_CYC_END ); // 开启中断
PFIC_EnableIRQ( TMR0_IRQn );
while( 1 )
;
}
__INTERRUPT
__HIGH_CODE
void TMR0_IRQHandler( void ) // TMR0 定时中断
{
if ( TMR0_GetITFlag( TMR0_3_IT_CYC_END ) )
{
TMR0_ClearITFlag( TMR0_3_IT_CYC_END ); // 清除中断标志
GPIOB_InverseBits( GPIO_Pin_18 );
}
}
|