gd32和stm32的編程區別
GD32和STM32是目前市場上比較流行的兩種芯片,它們都具有高性能、低功耗和豐富的外設等特點,因此得到了廣泛的應用。但是,GD32和STM32在編程上還是存在差異的,本文將就此進行詳細地解析。
一、GD32和STM32的概述
GD32和STM32是龍芯(RISC-V)和意法半導體(ARM Cortex-M)兩家公司推出的芯片,由于兩家公司的巨大影響力,它們在市場上一直處于領先位置。GD32是龍芯推出的32位微控制器,基于RISC-V架構,主要應用于智能家居、物聯網和工業控制等領域;STM32是意法半導體推出的32位微控制器,基于ARM Cortex-M架構,主要應用于汽車、醫療、電力等領域。
二、GD32和STM32的編程區別
1. 開發環境
GD32和STM32的開發環境主要分為兩種:Keil和GCC,這兩種開發環境對于GD32和STM32都是通用的,但是在具體的編譯工具鏈的選擇上有所不同。對于Keil開發環境來說,在編譯器的選擇上STMCubeIDE是只能用于STM32的,而GCC則沒有這個限制,可以用于GD32和STM32。此外,在驅動和庫的選擇上也有所不同。
2. 命名空間
在代碼的編寫上,GD32和STM32的命名空間略有不同。例如,在使用時鐘控制器的API時,在STM32中是通過RCC來訪問,而在GD32中則是通過rcu根據不同的模塊來訪問。這種命名空間的不同性實際上是由于不同的芯片結構造成的。
3. 輸出方式
GD32和STM32在輸出方式上也有所不同。在STM32中,輸出方式主要有串口、JTAG、SWD和USB等;而在GD32中,則多數通過串口輸出程序信息。此外,兩者在調試時,也有不同的方法,例如在STM32中,調試信息是通過SWD方式傳輸到PC上;而在GD32中則是通過串口直接輸出的。
4. 外設驅動
GD32和STM32的外設驅動也有所不同,在使用外設時需要注意。比如,在使用GPIO時,GD32需要指定端口的引腳數量和具體使用的引腳,而STM32則只需要指定端口一個參數。
5. 中斷處理
在中斷處理上,GD32和STM32也有所不同。GD32中的中斷處理快速跳轉準備工作需要通過指令進行,而STM32中的中斷處理則是通過NVIC進行的。在使用時需要注意不同的編寫方式和調用函數。
6. ADC/DAC
在ADC/DAC的驅動上,GD32和STM32也有所不同。在GD32中,ADC和DAC是分別獨立的,需要對不同的模塊進行初始化,而STM32中,則是通過一個通道來進行控制。
7. 其他
GD32和STM32在其他方面的差異還有很多,在具體的使用過程中需要根據具體的需求進行操作。
三、總結
雖然GD32和STM32在硬件上都擁有32位架構和豐富的外設,但是在具體的編程上卻發現有許多的差異。這需要程序員針對具體的需求,選擇合適的開發環境和合適的編寫方式,以達到最好的效果。在今后的應用中,這兩種芯片或許還會有更多不同的地方,我們需要不斷的學習和探索,以適應市場對于硬件的不斷升級和迭代的要求。
-
微控制器
+關注
關注
48文章
7649瀏覽量
152104 -
單片機
+關注
關注
6043文章
44622瀏覽量
638523 -
STM32
+關注
關注
2272文章
10923瀏覽量
357553 -
GD32
+關注
關注
7文章
413瀏覽量
24468
發布評論請先 登錄
相關推薦
為什么在rt-thread studio創建不了gd32的項目?
【GD32 MCU入門教程】GD32 MCU GPIO 結構與使用注意事項

【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(14)RTC 模塊介紹

GD32 MCU 入門教程】GD32 MCU 常見外設介紹(12)FMC 模塊介紹

【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(1)ISP 燒錄

【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(3)使用 Embedded Builder 開發 GD32

【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(2)使用 IAR 開發 GD32

【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(1)使用Keil開發GD32

都是32位MCU,ESP32、GD32、STM32有什么區別

GD32 ADC轉換時間如何計算?

GD32 MCU ISP失敗的原因

評論