www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式微處理器
[導(dǎo)讀]基于ST的對(duì)應(yīng)型號(hào)缺貨,大家都紛紛測試國內(nèi)的替代芯片,我也想試一把??吹紾D32E230C8T6理論上可以替代STM32F103C8T6,在這次去X商城買料的時(shí)候,我順便買了片樣片,并要了個(gè)免費(fèi)的最新系統(tǒng)樣板PCB。到貨后,馬不停蹄開工,焊好。焊好后,去官網(wǎng)下載資料:(資料下載請(qǐng)...


基于ST的對(duì)應(yīng)型號(hào)缺貨,大家都紛紛測試國內(nèi)的替代芯片,我也想試一把。看到GD32E230C8T6理論上可以替代STM32F103C8T6,在這次去X商城買料的時(shí)候,我順便買了片樣片,并要了個(gè)免費(fèi)的最新系統(tǒng)樣板PCB。

到貨后,馬不停蹄開工,焊好。



焊好后,去官網(wǎng)下載資料:(資料下載請(qǐng)點(diǎn)擊閱讀原文內(nèi)下載)

MDK PACK:??GD32E23x_AddOn_V1.1.0.rar?(1.77 MB,)
規(guī)格書:??GD32E230xx_Datasheet_Rev1.4.pdf?(2.44 MB)
用戶手冊(cè):??GD32E23x_yonghushouce_Rev1.4.pdf?(8.4?MB)
固件手冊(cè):??GD32E23x_gujiankushiyongzhinan_Rev1.0.pdf?(5.69 MB)
BSP:??GD32E23x_Firmware_Library_V1.1.1.rar?(861.82 KB)
對(duì)應(yīng)開發(fā)板資料:??GD32E23x_Demo_Suites_V1.0.1.rar?(4.06 MB)
為了放心,我還是粗略的看了下它的規(guī)格書:

主要描述(除了內(nèi)核M23,其他外設(shè)幾乎沒啥變動(dòng))


當(dāng)前選用的C8T6(容量還是跟ST的保持一致,國產(chǎn)的就不能大些么~)


引導(dǎo)模式:



其中有一點(diǎn)不一樣的就是,它的BOOT1由原來的映射引腳,變成了寄存器的一個(gè)配置位!




我們用跳帽把BOOT0連到GND,選擇內(nèi)部FLASH啟動(dòng)~
//////////////////////////////////////////////////////////////
我們看下我們最小系統(tǒng)的原理圖:



不能再簡陋了,就是最小系統(tǒng)加4個(gè)LED,2個(gè)KEY(其中只有WAKEUP能編程用)。
我們連接它的串口,好讓調(diào)試信息輸出:

查看數(shù)據(jù)手冊(cè)得:



還是PA9/PA10與ST的一樣。

我們打開GD32E23x_Demo_Suites_V1.0.1\GD32E230C_EVAL_Demo_Suites,這個(gè)板型號(hào)跟我的最新系統(tǒng)一致,就用它的程序進(jìn)行更改:



我們發(fā)現(xiàn)在它的gd32e230c_eval文件里,幾乎包含了我們想要的外設(shè),但是引腳有少許差異,修改下:

/*! \file gd32e230c_eval.h \brief definitions for GD32E230C_EVAL's leds, keys and COM ports hardware resources
\version 2019-02-19, V1.0.0, firmware for GD32E23x*/
/* Copyright (c) 2019, GigaDevice Semiconductor Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
#ifndef GD32E230C_EVAL_H#define GD32E230C_EVAL_H
#ifdef cplusplus
extern "C" {#endif
#include "gd32e23x.h"
/* exported types */typedef enum { LED1 = 0, LED2 = 1, LED3 = 2, LED4 = 3}led_typedef_enum;
typedef enum { KEY_WAKEUP = 0, //KEY_TAMPER = 1,}key_typedef_enum;
typedef enum { KEY_MODE_GPIO = 0, KEY_MODE_EXTI = 1}keymode_typedef_enum;

/* eval board low layer led */#define LEDn 4U
#define LED1_PIN GPIO_PIN_10#define LED1_GPIO_PORT GPIOB#define LED1_GPIO_CLK RCU_GPIOB
#define LED2_PIN GPIO_PIN_11#define LED2_GPIO_PORT GPIOB#define LED2_GPIO_CLK RCU_GPIOB
#define LED3_PIN GPIO_PIN_8#define LED3_GPIO_PORT GPIOA#define LED3_GPIO_CLK RCU_GPIOA
#define LED4_PIN GPIO_PIN_9#define LED4_GPIO_PORT GPIOA#define LED4_GPIO_CLK RCU_GPIOA
/* eval board low layer button */ #define KEYn 1U //2U
/* wakeup push-button */#define WAKEUP_KEY_PIN GPIO_PIN_0#define WAKEUP_KEY_GPIO_PORT GPIOA#define WAKEUP_KEY_GPIO_CLK RCU_GPIOA#define WAKEUP_KEY_EXTI_LINE EXTI_0#define WAKEUP_KEY_EXTI_PORT_SOURCE EXTI_SOURCE_GPIOA#define WAKEUP_KEY_EXTI_PIN_SOURCE EXTI_SOURCE_PIN0#define WAKEUP_KEY_EXTI_IRQn EXTI0_1_IRQn
/* tamper push-button *///#define TAMPER_KEY_PIN GPIO_PIN_13//#define TAMPER_KEY_GPIO_PORT GPIOC//#define TAMPER_KEY_GPIO_CLK RCU_GPIOC//#define TAMPER_KEY_EXTI_LINE EXTI_13//#define TAMPER_KEY_EXTI_PORT_SOURCE EXTI_SOURCE_GPIOC//#define TAMPER_KEY_EXTI_PIN_SOURCE EXTI_SOURCE_PIN13//#define TAMPER_KEY_EXTI_IRQn EXTI4_15_IRQn
/* eval board low layer COM */#define COMn 1U
/* definition for COM, connected to USART0 */#define EVAL_COM USART0#define EVAL_COM_CLK RCU_USART0
#define EVAL_COM_TX_PIN GPIO_PIN_9#define EVAL_COM_RX_PIN GPIO_PIN_10
#define EVAL_COM_GPIO_PORT GPIOA#define EVAL_COM_GPIO_CLK RCU_GPIOA#define EVAL_COM_AF GPIO_AF_1
/* function declarations *//* configure led GPIO */void gd_eval_led_init(led_typedef_enum lednum);/* turn on selected led */void gd_eval_led_on(led_typedef_enum lednum);/* turn off selected led */void gd_eval_led_off(led_typedef_enum lednum);/* toggle the selected led */void gd_eval_led_toggle(led_typedef_enum lednum);/* configure key */void gd_eval_key_init(key_typedef_enum keynum, keymode_typedef_enum keymode);/* return the selected key state */uint8_t gd_eval_key_state_get(key_typedef_enum keynum);/* configure COM port */void gd_eval_com_init(uint32_t com);
#ifdef cplusplus}#endif
#endif /* GD32E230C_EVAL_H */

main函數(shù)修改如下:


/*! \file main.c \brief running LED \version 2019-02-19, V1.0.0, firmware for GD32E23x*//* Copyright (c) 2019, GigaDevice Semiconductor Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/#include "gd32e23x.h"#include "gd32e230c_eval.h"#include "systick.h"#include /*! \brief main function \param[in] none \param[out] none \retval none*/int main(void){//時(shí)鐘初始化 systick_config();//初始化LED gd_eval_led_init(LED1); gd_eval_led_init(LED2); gd_eval_led_init(LED3); gd_eval_led_init(LED4); gd_eval_led_off(LED1); gd_eval_led_off(LED2); gd_eval_led_off(LED3); gd_eval_led_off(LED4);//初始化按鍵 gd_eval_key_init(KEY_WAKEUP,KEY_MODE_GPIO);//初始化串口0 gd_eval_com_init(EVAL_COM);while(gd_eval_key_state_get(KEY_WAKEUP)==SET) {printf("please press wakeup_key to continue!\r\n"); delay_1ms(200); }while(1){/* turn on LED1, turn off LED4 */ gd_eval_led_on(LED1); gd_eval_led_off(LED4); delay_1ms(1000);/* turn on LED2, turn off LED1 */ gd_eval_led_on(LED2); gd_eval_led_off(LED1); delay_1ms(1000);/* turn on LED3, turn off LED2 */ gd_eval_led_on(LED3); gd_eval_led_off(LED2); delay_1ms(1000);/* turn on LED4, turn off LED3 */ gd_eval_led_on(LED4); gd_eval_led_off(LED3); delay_1ms(1000); }}/* retarget the C library printf function to the USART */int fputc(int ch, FILE *f){ usart_data_transmit(USART0, (uint8_t) ch);while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));return ch;}

編譯下載,查看現(xiàn)象:


按下WAKEUP鍵后,繼續(xù)執(zhí)行到WHILE里面:

?
LED輪流亮滅~

好了,就到這~
總體而言沒發(fā)現(xiàn)啥特別,上手也不難,庫寫的可讀寫也可以。
總而言之,國產(chǎn)MCU與國外的差距越來越小了~

END
來文系21ic壇友qjp1988113原創(chuàng)撰寫
嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉