盤點STM32的國產替代者(2)

2021-02-14 嵌入式ARM

今日帶來能夠完美替代STM32的產品是沁恆微電子的CH32F103以及RISC-V內核的CH32V103兩款產品。CH32F1系列是基於32位Cortex-M3內核設計的通用微控制器。片上集成了時鐘安全機制、多級電源管理、 通用DMA控制器等。此系列具有 2 路 USB2.0接口、多通道 TouchKey、 12 位 DAC 轉換模塊,多通道 12 位 ADC、 多組定時器、 CAN 通訊控制器、 I2C/USART/SPI 等豐富的外設資源。CH32V103則是其在去年上半年推出的RISC-V架構的32位通用MCU微控制器。CH32V103系列是以RISC-V3A處理器為核心的32位通用微控制器,該處理器是基於RISC-V開源指令集設計。片上集成了時鐘安全機制、多級電源管理、通用DMA控制器。此系列具有1路USB2.0主機/設備接口、多通道12位ADC轉換模塊、多通道TouchKey、多組定時器、多路IIC/USART/SPI接口等豐富的外設資源。多說無益,直接看幾個21ic家網友關於這兩款開發板的測評:【CH32F103測評報告】+基於WCH沁恆CH32F103開發板點燈編程試驗目標:使用WCH沁恆CH32F103開發板點燈編程試驗

一、搞點資料看看,電路圖要搞到從21ic論壇(bbs.21ic.com/iclist-900-1.html)裡找些資料看看,強烈推薦下載那個CH32F103評估板說明及參考應用例程:CH32F103EVT.ZIP



之所以推薦下載這個壓縮檔,是因為裡面有一個非常好的說明文件:



這個說明文件非常棒,介紹了每個目錄的內容,為製作這個說明文件的小哥哥點讚!!!

電路圖在這個壓縮檔有:



1. LED沒有直接連到MCU引腳,需要準備連接導線;
2. 燒錄調試接口貌似ST-LINK,準備一個高仿ST-LINK燒錄器即可;

二、搭建環境,晶片的PACK安裝上面下載的壓縮包裡就有PACK,Keil.WCH32F1xx_DFP.1.0.0.pack,直接點擊安裝即可,打開KEIL,在KEIL裡看見如下就意味著PACK搞好了。上述壓縮包裡就有現成的例子,點燈LED代碼直接拿過用,哎呀,這代碼風格就是ST的標準啊,無需額外學習,直接上手,哈哈
void GPIO_Toggle_INIT(void){  GPIO_InitTypeDef  GPIO_InitStructure;  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;  GPIO_Init(GPIOA, &GPIO_InitStructure);}int main(void){        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  Delay_Init();        GPIO_Toggle_INIT();while(1)  {                Delay_Ms(500);                PAout(0) ^= (1<<0);        }}

由於我使用PA0點燈,記得將LED連接到PA0即可。

四、學習將視頻轉GIF,看著方便
為了方便和朋友們交流,將原始碼上傳上來,下載請點擊閱讀原文。

1. WCH沁恆CH32F103開發板總體製作精良,用心了
2. 代碼風格和ST一樣一樣滴,上手也快
3. 外設功能和ST有細微差異,看過手冊也都能明白
4. 這塊開發板的其它功能,待後續慢慢搞,後面準備搞個U盤自動更新功能,哈哈【沁恆WCH32F103測評報告】WCH32F103C8T6串口下載方法及串口列印
習慣了STC和Arduino的串口下載,對於arm32-M3指令集的國產晶片CH32F103C8T6,也在摸索著使用串口下載。在開發板的包裡,乾貨滿滿,但是手頭上沒有SWD接口的編程器。找了資料,STM32F103是可以用串口下載的。前提是,你要連接好PA9(UART1_TX),以及PA10(UART1_RX)到USB-TLL轉接板,比如CH340G的小板。
另外,需要設置BOOT啟動的方式。跳線接法:BOOT1 -->GND, BOOT0-->VCC,這樣才會從晶片內的出廠固件內存引導啟動,這裡相當於Arduino的BootLoader的功能。平常的接法是BOOT0-->GND,這是從Flash區運行啟動代碼,跳過了廠家代碼區。

2.硬體準備好後,需要軟體。下載WCH_ISP_tool(2.8)下載連結.


注意要選擇CH32F1系列標籤,Keil MDK編譯器生成的Hex文件,需要再用戶程序文件框內選擇。
注意可以多試幾次,比如插拔USB轉串口小板。還有當出現「解除防寫」,需要先點擊「解除保護」按鈕。之後再點擊下載。

4.測試UART_Printf串口列印功能
開發板的串口調試功能可以方便的輸出一些具體的信息,作為程序運行的重要參考。這裡我測試了math.h的正弦函數計算功能。算是發揮一下32位CPU的優勢。想起來計算氫彈的理論的501機,每秒不過幾十萬次加法運算。這個機子已經遠遠超過了當年的龐然大物。
int main(void){        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    Delay_Init();        USART_Printf_Init(115200);                             /* printf using USART1 */printf("SystemClk:%d\r\n",SystemCoreClock);printf("This is printf example\r\n");printf("sin(pi/3)=%f",sin(PI/3));while(1)  {                }}




附閱讀材料:中國計算機60年國產計算機前史【RISC-V MCU CH32V103測評】01:LED Demo第一次體驗risc-v的板子,真的是不錯,快遞也很迅速。而且cortex m系列挺像的,這樣上手就很容易了,體驗一下點燈操作。

點燈需要注意的是,led小燈沒有連接到mcu的引腳上,需要自己用杜邦線連接一下

代碼也很簡單,有stm32經驗的很容易
/********************************** (C) COPYRIGHT ******************************** File Name          : main.c* Author             : WCH* Version            : V1.0.0* Date               : 2020/04/30* Description        : Main program body.*******************************************************************************/#include "debug.h"void LED_Init(void){    GPIO_InitTypeDef  GPIO_InitStructure;    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;    GPIO_Init(GPIOA, &GPIO_InitStructure);}void GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin){    GPIOx->OUTDR ^= GPIO_Pin;}int main(void){    Delay_Init();    //USART_Printf_Init(115200);    //printf("SystemClk:%d\r\n",SystemCoreClock);    LED_Init();        while(1)        {            Delay_Ms(1000);            GPIO_TogglePin(GPIOA, GPIO_Pin_0);        }}

【RISC-V MCU CH32V103測評】02:USART Demo注意,WCH-Link的串口只能發送,不能接收!直接在上一個LED Demo基礎上添加。

添加串口1,通過串口接收中斷來接收數據,接收到回車鍵,一幀數據結束。
主程序裡處理串口數據(或丟棄或返回)



用其他usb轉ttl工具,看看顯示

串口調試助手顯示結果

你認為這款開發板如何?之後嵌入式ARM還會繼續登載國產替代者的更多測評信息。

相關焦點

  • STM32最小系統板分享
    8月的電子設計大賽,可能用到stm32。
  • 【STM32+cubemx】0014 HAL庫開發:電源控制(三種低功耗模式:sleep、stop、standby)
    本節我們來講一講stm32的電源控制,也就是低功耗模式。
  • 技術培訓 | STM32G0新一代入門利器性能介紹及STM32安全技術深度解析
    1)STM32G0 最新產品特性全面解析及對比2)安全技術理論    (1) 安全的概念與 STM32 安全技術總覽     (2) 安全風險分析的模型與方法    (3) 攻擊與防護措施    (4) 加解密技術 (Cryptography) 的基本原理    (5) 可信根 (Root of Trust
  • 盤點中國軍工2017,為何這三大國產裝備讓全世界驚嘆?
    就讓小編趁著年終盤點的重要時機,帶大家一起領略一下中國軍工在2017年,都給大家帶來了哪些舉世矚目的成就。三大殺器驚爆眼球首艘國產航母的下水,對中國海軍走向深藍意味著什麼,眾多軍事專家早已分析無數,這裡不再贅言。事實上,首艘國產航母下水所帶來的遠不止這些。
  • 【盤點】吉翁戰艦盤點2
    在上一期戰艦盤點呢寫了吉恩公國的巡洋艦系列:桑吉巴爾級機動巡洋艦、姆塞級輕巡洋艦、契貝級高速重巡洋艦,那麼這一期給大家帶來的就是——帕普亞級補給艦、帕佐克級運輸艦、多洛斯級超大型宇宙空母和格瓦金級大型戰艦。這期專欄可能讓很多朋友久等了,在此說聲抱歉,但是石斛蘭君相信它絕對不會讓你們失望! 喜歡專欄的朋友們關注 點讚 收藏 ! 歡迎在評論區留言!
  • 詳解STM32的PWM輸出及頻率和脈寬(佔空比)的計算與程序例程
    一、stm32的pwm輸出引腳是使用的IO口的復用功能。二、T2~T5這4個通用定時器均可輸出4路PWM——CH1~CH4。三、我們以tim3的CH1路pwm輸出為例來進行圖文講解(其它類似),並在最後給出tim3的ch1和ch2兩路pwm輸出的c代碼(已在STM32F103RBT6上測試成功,大家放心使用!)。
  • 乾貨 | stm32f4功能介紹
    乾貨|stm32f4功能介紹這篇文章主要介紹stm32f4的時鐘樹、定時器、通信方式(串口、I2C).話不多說,直奔主題。如圖區域①;2、HSI(高速內部時鐘):由內部RC振蕩器產生,頻率為16MHz。如圖區域②;3、LSE(低速外部時鐘):一般由外部晶振提供,頻率為32.768kHz。如圖區域③;4、HSE(低速外部時鐘):一般由外部晶振提供,頻率為4~26MHz。如圖區域④;5、主PLL時鐘:由HSE或HSI提供。
  • 實例講解之STM32的高級捕獲模式
    文章來自星球號——《實例講解之STM32的高級捕獲模式》作者:lihui710884923簡單介紹一下stm32PWM模式捕獲方法:利用TIM2_CH1作PWM輸出,TIM3_CH2捕獲上述PWM信號,並測出頻率和佔空比。設置PWM頻率為1KHz,佔空比50%。具體步驟:為了實現PWM輸入捕獲,TIM3佔用了2個通道。
  • 【盤點】助攻王--鋼加農盤點
    1.33G地上速度 : 78千米/時傳感器探測有效半徑 : 7300米180°姿勢變換所需時間 : 2.1秒固定武裝 : 光束劍×2;頭部60mm火神炮×2;肩部240mm加農炮×2↑長按讚賞碼投食↑(↑↑↑更多讚賞,更多動力↑↑↑)【盤點】機動戰士高達機體盤點(第一期)【盤點】機動戰士高達機體盤點(第二期)【盤點】機動戰士高達機體盤點
  • 盤點|珠海航展上的中國之翼
    中法聯合研製的輕型直升機AC3X2,以「中國紅」為主色調、流線漂亮得如同海豚。  運12輕型多用途飛機是唯一取得美國FAA型號合格證的國產民機。憑藉使用簡單、機動靈活、可在簡易跑道上起飛和著陸、用途廣泛等突出特點,運12飛機得到了國內外用戶的普遍青睞,是交付量最大的國產民機。
  • 都是回憶,十大經典國產單機遊戲盤點
    作為國產RPG遊戲中歷史最悠久的《軒轅劍》系列遊戲,可以說是國產遊戲成績最為輝煌的系列遊戲名作了。從1990年推出第一代《軒轅劍》開始到現在,已經走過了將近16個年頭,它影響了中國一代又一代的遊戲玩家……
  • 「2」盤點各種Windows/Office激活工具
    先來盤點一下這些年比較有名的激活軟體:Windows Loader、NT6 OEM Loader、OEM7、mini-KMS Activator、Microsoft Toolkit、KMSpico、KMS VL ALL、MAS、AAct、HWIDGEN...還有非常多其他的。
  • 年度盤點:8萬落地看這三款,油耗低,保養便宜,毛病少,有轎車也有SUV
    第一款就是吉利新帝豪目前很少能跟合資轎車在銷量板上抗衡的國產轎車,而且全新一代的4代帝豪顏值越發的沉穩大氣,有那種小星瑞的感覺,內飾的做工用料也很棒,全系標配12.3英寸的全液晶儀錶盤,還有10.25英寸的中控大屏,檔次感和科技感絕對沒毛病,槓槓的,車內的質感甚至要比10多萬的合資轎車還要棒一些。
  • 生命不息運動不止運動季激情來臨 運動遊戲盤點
    在這裡小編也準備好了運動遊戲盤點,無論你是在運動場上拼搏的運動員還是在場邊揮舞吶喊的啦啦隊,讓我們在移動端延續運動!一起來看看吧!NBA2K17作為一款單獨的籃球卡牌遊戲就已經能夠秒殺所有國產手遊了,更何況它還能與其它平臺產生很好的互動,再加上眾多復古球員的強勢加入,所以本作將是籃球迷們不容錯過的一款手機遊戲。
  • 盤點MMO中常見的武器養成系統
    在國慶假期裡,新遊醬就帶大家一起盤點一下目前MMO的常見武器養成模式,比如強化、狗糧、製造等等,看看哪些是你曾經被拖入深坑的回憶吧!魔獸世界:過渡平緩、人人都有份的神器系統既然說起MMORPG的武器養成系統,就不得不先從最經典的魔獸世界WOW說起。
  • 香港遠足徑盤點——野外定向徑
    >C:1,2,4,3,9,11:1,2,3,11,10▼文章回顧01、《去香港戶外的9大理由》02、《41個香港合法營地盤點》03、《為何昨天盤點的香港合法營地沒有貝澳營地?》04、《港澳郊野公園盤點(一)——香港篇》05、《港澳郊野公園盤點(二)——香港篇》06、《港澳郊野公園盤點(三)——香港篇》07、《港澳郊野公園盤點(四)——澳門篇》08、《騎遊澳門,避開奢華,最詳細的舊街巷騎行指南》09、《香港海岸公園盤點》10、《香港遠足徑盤點——家樂徑》
  • 【盤點】吉翁萌物「水產」2
    沒有寫到的就放到後面的補全計劃裡面寫吧,下一期是填坑之作喲,那就是你們要的吉恩公國戰艦盤點第二期! 實習快結束了,所以...給我一點時間,下個星期給你們肝出來! 愛你們喲!喜歡專欄的朋友們關注 點讚 收藏 喲!