國產單片機近年的發展可謂是如雨后春筍、百花齊放。第一次看到國產的MCU采用RISC-V的,那是在瀏覽沁恒官方網站的時候,于是跟風申請個沁恒開發板來玩一玩。 CH32V103評估板板子做工都挺不錯的,下面開始玩起吧。
這款板子的型號是CH32V103C-R1-1V1,板載的芯片是CH32V103C8T6。 一開始還認為那個USB typeC可以用來下載程序的,看了《CH32V103評估板說明書》,才知道這個接口只是用來USB主從設備接口的,它與USB_A是并聯的,都是連接PA11(D-)PA12(D+),USB下載需要接PB6(D-)PB7(D+)。所以想用USB燒錄,那不如用串口方式下載,串口方式還可以隨時打印調試信息,當然,最方便的下載是用WCH Link下載器了。 編譯環境MounRiver Studio V1.84是早就已經安裝到電腦中的。21ic中有一篇關于CH32V103C應用開發的專題文章《RISC-V MCU應用開發系列教程之CH32V103 》,這個正好隨手拈來,于是選擇了 硬件I2C讀寫EEPROM例程試試。把壓縮解壓后,用MounRiver Studio打開、編譯,編譯速度還不錯的! 主程序很簡單: int main(void)
{
u8 data[SIZE];
Delay_Init();
USART_Printf_Init(115200);
printf("SystemClk:%d\r\n",SystemCoreClock);
AT24CXX_Init();
printf("Start Write 24Cxx....\r\n");
AT24CXX_Write(100,(u8*)TEXT_Buffer,SIZE); //寫入數據
printf("24Cxx Write Sucess!\r\n");
Delay_Ms(500);
printf("Start Read 24Cxx....\r\n");
AT24CXX_Read(100,data,SIZE); //讀取數據
printf("The Data Readed Is: \r\n");
printf("%s\r\n", data); //打印輸出數據
while(1);
} WCH Link下載器還沒有到手,暫時用串口下載吧。串口下載有點難,流程如下 : 1、BOOT0通過杜邦線接入3.3V電源。
2、打開WCHISPTool 工具,選擇相應串口下載方式,選擇下載固件,勾選芯片配置,點擊下載。
3、BOOT0接地,重新上電,即可運行用戶代碼。 用串口查看打印信息,怎么只有前兩行?
而正常應該打印:
后來通過查看電路原理圖,才知道犯的是低級錯誤:板載24C的SDA 和SCL引腳還沒有接入單片機的引腳。通過查看數據手冊《CH32V103DS0》,將24C的SDA通過杜邦線接到PB11,24C的SCL接到PB10,結果完全正常。 在測試的過程,有幾點想說一下: 1、沁恒單片機的下載機制獨特,無論是串口下載還是USB下載,都得通過硬件方法讓芯片從BOOT運行。以前玩CH552時,總想從軟件方式來讓芯片自動進入燒錄模式,至今未果。自動下載模式有待以后再次研究。 2、燒錄工具WCHISPTool如果能添加串口工具,會使用戶調試更加方便些。 3、MounRiver Studio V1.84與Keil MDK使用方法基本相同,用戶轉型毫無障礙,一來支持中文顯示,二來新建工程隨即得到工程模板,方便快捷。也像VSCode一樣支持函數跳轉,閱讀代碼方便。沁恒的例程中有中文注解,咱不懂英文的中國人覺得蠻好的。 4、CH32V103與CH32F103,可以說是大同小異,代碼也大同小異,所以從xx32F移植到CH32V,應該不會有大的難度。
|