要使用RT-Thread Studio来开发CH32V307,需先安装该软件,本人使用的版本是V2.2.3,见图1所示。
图1使用的版本 为了能支持CH32V307开发板,需进行图5所示的安装。
图2开发板及调试器的安装 在完成相关的安装后,需按图3所示来创建一个新项目,并按图4所示加以设置。
图3创建新项目
图4参数设置 对于该设置,所对应的开发板信息见图5所示。
图5开发板信息 当完成新项目的创建后,其软件界面如图6所示。
图6编辑界面 经编译,其结果如图7所示。
图7编辑界面 此时,调试器的类型如图8所示。
图8调试器类型 此时,点击下载工具图标,则弹出图9所示的对话框。
图9下载对话框 按图10所示来选取待下载的目标文件,并点击执行工具则开始下载,在完成下载后其界面如图11。 但遗憾的是,尽管程序已被下载,可开发板却一点预期的效果也没见到,实在搞不清这是啥问题?
图10选取下载目标
图11完成下载 该工程的程序如下:
- #include "ch32v30x.h"
- #include
- #include
- #include "drivers/pin.h"
- #include
- #define LED0_PIN 35 // PC3
- int main(void)
- {
- rt_kprintf("MCU: CH32V307\n");
- rt_kprintf("SysClk: %dHz\n",SystemCoreClock);
- rt_kprintf("www.wch.cn\n");
- LED1_BLINK_INIT();
- GPIO_ResetBits(GPIOA,GPIO_Pin_0);
- while(1)
- {
- GPIO_SetBits(GPIOA,GPIO_Pin_0);
- rt_thread_mdelay(500);
- GPIO_ResetBits(GPIOA,GPIO_Pin_0);
- rt_thread_mdelay(500);
- }
- }
- int led(void)
- {
- rt_uint8_t count;
- rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
- rt_kprintf("led_SP:%08x\r\n",__get_SP());
- for(count = 0 ; count < 10 ;count++)
- {
- rt_pin_write(LED0_PIN, PIN_LOW);
- rt_kprintf("led on, count : %d\r\n", count);
- rt_thread_mdelay(500);
- rt_pin_write(LED0_PIN, PIN_HIGH);
- rt_kprintf("led off\r\n");
- rt_thread_mdelay(500);
- }
- return 0;
- }
- MSH_CMD_EXPORT(led, led sample by using I/O drivers);
复制代码
似乎该程序的作用是,使连接PA0的LED闪烁发光。而函数led()的作用则是借助调试器来输出相应的状态变化信息。
|