0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GD32F303固件庫(kù)開發(fā)(7)----printf打印配置

嵌入式單片機(jī)MCU開發(fā) ? 來(lái)源:嵌入式單片機(jī)MCU開發(fā) ? 作者:嵌入式單片機(jī)MCU開 ? 2022-11-28 17:10 ? 次閱讀

概述

本章主要配置printf進(jìn)行打印。 查閱手冊(cè)可以得知,PA9、PA10為串口0的輸出和輸入口。需要GD樣片的可以加群申請(qǐng):615061293。

在這里插入圖片描述

樣品申請(qǐng)

https://www.wjx.top/vm/wFGhGPF.aspx#

硬件準(zhǔn)備

這里準(zhǔn)備了2塊開發(fā)板進(jìn)行驗(yàn)證,分別是GD32303C_START開發(fā)板。

在這里插入圖片描述

keil配置

microlib 進(jìn)行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫(kù)少,并且根本不具備某些 ISO C 特性。 某些庫(kù)函數(shù)的運(yùn)行速度也比較慢,如果要使用printf(),必須開啟。

在這里插入圖片描述

串口初始化

對(duì)串口進(jìn)行配置。

/* 使能GPIOB時(shí)鐘*/
    rcu_periph_clock_enable(RCU_GPIOA);    
        /*設(shè)置PA0為浮空輸入 */
        gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_0);


  /* 使能GPI0A,用PA9、PA10為串口 */
    rcu_periph_clock_enable(RCU_GPIOA);

    /*使能串口0的時(shí)鐘 */
    rcu_periph_clock_enable(RCU_USART0);

    /*配置USARTx_Tx(PA9)為復(fù)用推挽輸出*/
    gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);

    /*配置USARTx_RxPA9)為浮空輸入 */
    gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

    /* USART 配置 */
    usart_deinit(USART0);//初始化USART0
    usart_baudrate_set(USART0, 115200U);//設(shè)置串口USART0波特率為115200
    usart_receive_config(USART0, USART_RECEIVE_ENABLE);//啟用USART0接收
    usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);//啟用USART0發(fā)送
    usart_enable(USART0);//使能USART0

串口重定向

/* 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;
}

打印測(cè)試

while(1){
            printf("串口0打印!");
            delay_1ms(1000);
            }

測(cè)試結(jié)果

在這里插入圖片描述

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 固件庫(kù)
    +關(guān)注

    關(guān)注

    2

    文章

    97

    瀏覽量

    14918
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    13608
  • gd32f303
    +關(guān)注

    關(guān)注

    4

    文章

    38

    瀏覽量

    3668
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列產(chǎn)品,該系列資源上與 GD32F303 兼容度非常高,本應(yīng)用筆記旨在幫助您快速將應(yīng)用程序從 GD32F303 系列微控
    的頭像 發(fā)表于 08-31 09:36 ?1306次閱讀
    【<b class='flag-5'>GD</b>32 MCU 移植教程】2、從 <b class='flag-5'>GD32F303</b> 移植到 <b class='flag-5'>GD32F</b>503

    GD32F303使用KEIL仿真,JLINK連不上什么原因?需要怎么設(shè)置?

    GD32F303使用KEIL仿真,JLINK連不上什么原因?需要怎么設(shè)置?
    發(fā)表于 07-26 06:34

    GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十講 SPI-SPI NAND FLASH讀寫實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI通信協(xié)議,參考19.2.1東方紅開發(fā)板使用手冊(cè) ?GD32F303 SPI操作方式,參考19.2.2東方紅開發(fā)板使用手冊(cè) ?NAND FLASH基本原理 ?SPI NAND介紹 ?使用
    的頭像 發(fā)表于 06-20 09:50 ?731次閱讀
    【<b class='flag-5'>GD32F303</b>紅楓派<b class='flag-5'>開發(fā)</b>板使用手冊(cè)】第二十講 SPI-SPI NAND FLASH讀寫實(shí)驗(yàn)

    GD32F303紅楓派開發(fā)板使用手冊(cè)】第十六講 USART-DMA串口收發(fā)實(shí)驗(yàn)

    在前面ADC章節(jié)中,我們介紹了DMA的工作原理,這里就不多做介紹。從GD32F303用戶手冊(cè)中可以查到,各串口的TX和RX分別對(duì)應(yīng)DMA的不同通道,比如USART0的TX對(duì)應(yīng)DMA0的通道3,而RX對(duì)應(yīng)DMA0的通道4。
    的頭像 發(fā)表于 06-15 09:54 ?926次閱讀
    【<b class='flag-5'>GD32F303</b>紅楓派<b class='flag-5'>開發(fā)</b>板使用手冊(cè)】第十六講 USART-DMA串口收發(fā)實(shí)驗(yàn)

    GD32F303紅楓派開發(fā)板使用手冊(cè)】第五講 FMC-片內(nèi)Flash擦寫讀實(shí)驗(yàn)

    MC即Flash控制器,其提供了片上Flash操作所需要的所有功能,在GD32F303系列MCU中,F(xiàn)lash前256K字節(jié)空間內(nèi),?CPU執(zhí)行指令零等待,具有相同主頻下最快的代碼執(zhí)行效率。FMC也
    的頭像 發(fā)表于 06-02 10:05 ?674次閱讀
    【<b class='flag-5'>GD32F303</b>紅楓派<b class='flag-5'>開發(fā)</b>板使用手冊(cè)】第五講 FMC-片內(nèi)Flash擦寫讀實(shí)驗(yàn)

    GD32F303紅楓派開發(fā)板使用手冊(cè)】第三講 GPIO-按鍵查詢檢測(cè)實(shí)驗(yàn)

    GD32F303系列MCU GPIO輸入配置結(jié)構(gòu)如下圖所示,輸入可配置上下拉電阻,通過(guò)施密特觸發(fā)器后可通過(guò)備用功能輸入或者通過(guò)輸入狀態(tài)寄存器進(jìn)行讀取。
    的頭像 發(fā)表于 05-30 10:02 ?752次閱讀
    【<b class='flag-5'>GD32F303</b>紅楓派<b class='flag-5'>開發(fā)</b>板使用手冊(cè)】第三講 GPIO-按鍵查詢檢測(cè)實(shí)驗(yàn)

    GD32F303紅楓派開發(fā)板使用手冊(cè)】第二講 GPIO-流水燈實(shí)驗(yàn)

    GD32F303系列MCU最多可支持?112?個(gè)通用I/O?引腳(GPIO),分別為?PA0 ~ PA15,?PB0 ~ PB15,?PC0 ~ PC15,PD0 ~ PD15,?PE0
    的頭像 發(fā)表于 05-29 10:02 ?1438次閱讀
    【<b class='flag-5'>GD32F303</b>紅楓派<b class='flag-5'>開發(fā)</b>板使用手冊(cè)】第二講 GPIO-流水燈實(shí)驗(yàn)

    GD32F10x 固件庫(kù)使用指南

    電子發(fā)燒友網(wǎng)站提供《GD32F10x 固件庫(kù)使用指南.pdf》資料免費(fèi)下載
    發(fā)表于 05-22 14:15 ?18次下載

    GD32F470紫藤派開發(fā)板使用手冊(cè)】第九講 USART-printf打印實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: 串口簡(jiǎn)介 GD32F470串口工作原理 使用printf打印信息
    的頭像 發(fā)表于 05-13 10:14 ?1555次閱讀
    【<b class='flag-5'>GD32F</b>470紫藤派<b class='flag-5'>開發(fā)</b>板使用手冊(cè)】第九講  USART-<b class='flag-5'>printf</b><b class='flag-5'>打印</b>實(shí)驗(yàn)

    GD32F303為什么啟動(dòng)慢?

    在MCU開發(fā)中,有一項(xiàng)非常重要的參數(shù)——MCU啟動(dòng)時(shí)間,即MCU上電后到程序開始運(yùn)行這段時(shí)間。我們來(lái)看下GD32F303的datasheet中對(duì)啟動(dòng)時(shí)間的描述:
    的頭像 發(fā)表于 02-22 11:11 ?1217次閱讀
    <b class='flag-5'>GD32F303</b>為什么啟動(dòng)慢?

    GD32固件庫(kù)里時(shí)鐘配置時(shí)的神秘代碼?高頻切低頻時(shí)芯片會(huì)發(fā)生什么

    GD固件庫(kù)的時(shí)鐘配置函數(shù)里看到這樣一段神秘代碼,研究分析后不得不佩服原廠固件庫(kù)里的細(xì)節(jié)處理
    的頭像 發(fā)表于 02-19 09:44 ?585次閱讀
    <b class='flag-5'>GD</b>32<b class='flag-5'>固件</b>庫(kù)里時(shí)鐘<b class='flag-5'>配置</b>時(shí)的神秘代碼?高頻切低頻時(shí)芯片會(huì)發(fā)生什么

    GD32F303想控制PA13~15、PB3和PB4不成功?

    有沒有小伙伴遇到這種情況:在使用GD32F303的時(shí)候,想要將PA13~15以及PB3和PB4作為IO口來(lái)使用,卻怎么也不成功呢?下面小編就來(lái)告訴大家原因。
    的頭像 發(fā)表于 02-01 09:49 ?2388次閱讀
    <b class='flag-5'>GD32F303</b>想控制PA13~15、PB3和PB4不成功?

    GD32F303 使用PA8輸出內(nèi)部時(shí)鐘頻率#GD32 #時(shí)鐘技術(shù) #MCU #單片機(jī)

    單片機(jī)mcugd32f303
    聚沃科技
    發(fā)布于 :2024年01月22日 09:59:40

    GD32F303 低功耗模式要點(diǎn)

    我們都知道,MCU有低功耗模式,比如GD32F303芯片,就有Sleep、Deepsleep和Standby三種模式。關(guān)于這三種模式的具體使用方法,小伙伴們可以參考《GD32F30x系列用戶手冊(cè)》。
    的頭像 發(fā)表于 01-17 09:40 ?2386次閱讀
    <b class='flag-5'>GD32F303</b> 低功耗模式要點(diǎn)

    GD32F系列MCU片上Flash中Code區(qū)和Data區(qū)使用解密

    GD32F系列MCU產(chǎn)品片上Flash分Code區(qū)和Data區(qū),以GD32F303系列為例,從GD32F303xx Datasheet中可以獲取code區(qū)和data區(qū)大小,那Code區(qū)和Data區(qū)在代碼執(zhí)行上有什么差別呢?
    的頭像 發(fā)表于 01-09 10:07 ?2527次閱讀
    <b class='flag-5'>GD32F</b>系列MCU片上Flash中Code區(qū)和Data區(qū)使用解密