完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、初识CH32V103R-R1开发板
从提交申请到收到板子有一段时间,就先看了看相关资料,虽然《CH32V103评估板说明书.pdf》不是很详细,但是,说明还是比较详细的,操作步骤还是挺清晰的,尤其是相关的例程很丰富。开发板板载了WCH-LINK下载调试器,采用TYPE-Cu***接口连接电脑,实现下载和调试。早早下载并安装了编程软件MRS,感觉界面比较简洁。 RTT大赛群里不断有网友晒出点灯成功的消息,我也信心满满,跃跃欲试。谁知收到板子当晚,连上电脑,编译完成,确无法下载,板载的WCH-LINK蓝色指示灯常亮,查看设备管理器发现WCH-LINK的驱动没装上,上沁恒的官网找到了WCH-LINK的使用说明,但是无论如何也装不上驱动,初次尝试点灯失败。 根据WCH-LINK的说明,应该是固件的问题,于是尝试采用WCHISPTool_Setup.exe工具刷新固件,USB口驱动没有安装好,肯定是刷不了,改用串口刷,居然有反映,心情无比激动,但是,经过一番操作,蓝灯是不亮了,但是,插上WCH-LINK,电脑也没反应了,发现不了设备了,这下真凉了。 和RRT大赛群里的网友交流,大家都没遇到这个问题,USB驱动很正常。 好在是国产的技术支持比较方便,沟通无障碍,拨通沁恒的技术支持电话,说明了现象之后,对方说重买一个吧,WCH-LINK坏了。反正是申请的免费板子,坏了就坏了吧。 根据多年的经验,刷固件操作本身没有问题,即使固件刷错了也不至于损坏硬件吧,只是当时考虑,板载的WCH-LINK和核心板用跳线连接,只可能把WCH-LINK的固件刷到核心板里,或者把核心板的程序刷到WCH-LINK中,(实际上也是不会发生的,型号不对是刷不进去的,但是可能会擦除)。于是不甘心又按照说明书上的步骤,用WCHISPTool_Setup.exe给WCH-LINK刷固件,连上WCH-LINK的RX,TX,看到串口通信一直在等待WCH-LINK回应,又仔细确认几次TX,RX没接反,确实是连接了WCH-LINK的串口,但是,仍然提示等待。抱着死马当活马医的心态,连接到核心板的TX,RX上,居然开始刷固件了,刷完固件,查看设备管理器,驱动也装好了。接下来就非常顺利的点灯了。 RRT大赛群里目前还没有发现有人和我遇到一样的问题,毕竟这个开发板只免费派送了50片,也许将来会有人遇到一样的问题,这里我就把相关的操作步骤整理一下,供初学者参考。 二、使用步骤 1.认识开发板 《CH32V103评估板说明书.pdf》对开发板做了较为详细的介绍。我再说明一下:上半部分是板载的WCH-LINK,通过这个WCH-LINK实现程序下载和调试。下半部部分是CH32V103R8T6核心板,采用RISC-V架构的国产芯片。 通过TYPE-C的USB线一头连接图中序号11,另一头插在电脑USB口上。 ` 指南上的芯片引脚标注不是很详细,例如ADC的引脚只有13个,实际上这个芯片共用16个外接ADC引脚,有必要贴个官网上找到的引脚分布图。 2.软件安装 《CH32V103评估板说明书.pdf》中提到:IDE 使用 – MounRiver ,下载 MounRiver_Studio,双击安装,安装后即可使用。 MRS软件安装非常简单,确实没有什么需要说明的。 这里着重说明一下,板载WCH-LINK刷固件的步骤。 按照说明书的描述,正常情况下,如果WCH-LINK的固件需要更新,MRS软件会提示,并自动更新,而我遇到的问题是,一开始就没有安装好USB驱动,所以,软件根本无法找到WCH-LINK设备,所以无法自动更新固件。固件不正常,也是电脑无法找到并安装设备驱动的原因。 这个时候需要通过串口为WCH-LINK刷固件。沁恒的官网上找《WCH-Link 使用说明》,里面详细介绍了WCH-LINK的故障现象和解决办法。当然,说明是针对独立WCH-LINK写的,和我们这个板载的WCH-LINK有些不同,不过操作是一样的。 而我还想着重强调的是:板载WCH-LINK的TX,RX的位置,不是在靠近WCH-LINK芯片的这一侧,应该在外侧,也就是下图的最左边。按照上图的步骤操作,就能完成板载WCH-LINK固件刷写。刷好固件,安装USB驱动,就可以尝试点灯了。 上面用到的刷新工具及固件等,都可以在MRS的安装路径里找到。 3.点灯 一切就绪,接下来就可以点灯了。 沁恒的开发板提供了很多例程,基本覆盖了所有的功能,而且这些例程都是完整的项目,不仅仅是.c的源文件。 在这里插入代码片 while(1) { var1++; if(i==1) { i=0;} else { i=1; } Delay_Ms(250); GPIO_WriteBit(GPIOA, GPIO_Pin_0, ~GPIO_ReadOutputData(GPIOA)&0x01); printf(" TEST%drn",var1); } } 注意: 开发板上有两个蓝色的LED,需要用杜邦线连接使用,上面的代码实现,PA0 每隔250ms切换高低电平,将PA0用跳线连接到LED1或LED2就能看到250ms间隔闪烁的效果。 4.调试 还可以加个变量看看调试的效果,右侧是调试界面,可以看到变量var1自加的效果。如果不设置断点,只有暂停的时候才能看到变量值的改变,全速运行的时候,看不到变量的更新。(不知道是否有设置可以自动更新)。 同时也能看到运行时串口输出的信息。 总结 虽然开始因为WCH-LINK固件更新的问题遇到了一些麻烦,但是最终还是成功点灯。希望能给大家一些参考。从目前测试的情况看,对沁恒的这个开发板还是非常满意的。虽然资料不是很多,但是,官方例程的质量很高,MRS的体验也很好。 |
|
|
|
只有小组成员才能发言,加入小组>>
3318 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9063 浏览 16 评论
4088 浏览 18 评论
1185浏览 3评论
609浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
601浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2337浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1897浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 07:44 , Processed in 0.484493 second(s), Total 45, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号