女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)篇) 第2章 初始GPIO流水燈

嵌入式大雜燴 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-05-08 09:03 ? 次閱讀

開發(fā)環(huán)境:

MDK:Keil 5.30

開發(fā)板:GD32F207I-EVAL

MCU:GD32F207IK

1 GPIO工作原理

熟悉單片機的朋友都知道,學習的第一個例程就是流水燈,要想實現(xiàn)流水燈,首先必須了解GPIO的工作原理。GPIO的基本結(jié)構(gòu)如下圖所示。

16833874879227adue8q65x

GD32 的 IO 口可以由軟件配置成如下 8 種模式:

  • 輸入模式
  • 浮空輸入:浮空(floating)就是邏輯器件的輸入引腳即不接高電平,也不接低電平。由于邏輯器件的內(nèi)部結(jié)構(gòu),當它輸入引腳懸空時,相當于該引腳接了高電平。一般實際運用時,引腳不建議懸空,易受干擾。通俗講就是讓管腳什么都不接,浮空著。信號進入芯片內(nèi)部后,既沒有接上拉電阻也沒有接下拉電阻,經(jīng)由觸發(fā)器輸入。配置成這個模式后,用電壓變量引腳電壓為1點幾伏,這是個不確定值。由于其輸入阻抗比較大,一般把這種模式用于標準的通訊協(xié)議,比如IIC、USART的等。該模式是GD32復位之后的默認模式。

1683387488659ugrr20se8m

  • 上拉輸入:上拉就是把電位拉高,比如拉到Vcc。上拉就是將不確定的信號通過一個電阻嵌位在高電平,電阻同時起限流作用,弱強只是上拉電阻的阻值不同,沒有什么嚴格區(qū)分。上拉輸入就是信號進入芯片后加了一個上拉電阻,再經(jīng)過施密特觸發(fā)器轉(zhuǎn)換成0、1信號,讀取此時的引腳電平為高電平。

1683387489233zsfshfg16f

  • 下拉輸入:就是把電壓拉低,拉到GND。與上拉原理相似。下拉輸入就是信號進入芯片后加了一個下拉電阻,再經(jīng)過施密特觸發(fā)器轉(zhuǎn)換成0、1信號,讀取此時的引腳電平為低電平。

1683387489618qp33hnttxx

  • 模擬輸入:信號進入后不經(jīng)過上拉電阻或者下拉電阻,關(guān)閉施密特觸發(fā)器,經(jīng)由另一線路把電壓信號傳送到片上外設(shè)模塊。模擬輸入是指傳統(tǒng)方式的輸入,數(shù)字輸入是輸入PCM數(shù)字信號,即0、1的二進制數(shù)字信號,通過數(shù)模轉(zhuǎn)換,轉(zhuǎn)換成模擬信號,經(jīng)前級放大進入功率放大器,功率放大器還是模擬的。比如傳送給ADC模塊,由ADC采集電壓信號。所以可以理解為模擬輸入的信號是未經(jīng)處理的信號,是原汁原味的信號。

1683387490063gm0ayutl6v

  • 輸出模式
  • 開漏輸出:一般用在電平不匹配的場合,如需要輸出5V的高電平。輸出端相當于三極管的集電極,要得到高電平狀態(tài)需要上拉電阻才行。適合于做電流型的驅(qū)動,其吸收電流的能力相對強(一般20mA以內(nèi))。

1683387490432310yvu5zbg

  • 復用開漏輸出:可以理解為GPIO口被用作第二功能時的配置情況(即并非作為通用IO口使用)。端口必須配置成復用開漏功能輸出模式。

1683387490869aja54889fv

  • 推挽式輸出:可以輸出高、低電平,連接數(shù)字器件;推挽結(jié)構(gòu)一般是指兩個三極管分別受兩個互補信號的控制,總是在一個三極管導通的時候另一個截止。高低電平由IC的電源決定。推挽電路是兩個參數(shù)相同的三極管或MOSFET,以推挽方式存在于電路中,各負責正負半周的波形放大任務,電路工作時,兩只對稱的功率開關(guān)管每次只有一個導通,所以導通損耗小、效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。推拉式輸出級既提高電路的負載能力,又提高開關(guān)速度。

1683387491229e5si3nc845

  • 推挽式復用輸出:可以理解為GPIO口被用作第二功能時的配置情況(即并非作為通用IO口使用)。端口必須配置成復用推挽功能輸出模式。

1683387491717umhg0t0gly

2 I/O復用和重映射

2.1 I/O復用

GD32 有很多的內(nèi)置外設(shè),這些外設(shè)的外部引腳都是與 GPIO 復用的。也就是說,一個 GPIO如果可以復用為內(nèi)置外設(shè)的功能引腳,那么當這個 GPIO 作為內(nèi)置外設(shè)使用的時候,就叫做復用。當I/O端口被配置為復用功能時:

● 在開漏或推挽式配置中,輸出緩沖器被打開

● 內(nèi)置外設(shè)的信號驅(qū)動輸出緩沖器(復用功能輸出)

● 施密特觸發(fā)輸入被激活

● 弱上拉和下拉電阻被禁止

● 在每個APB2時鐘周期,出現(xiàn)在I/O腳上的數(shù)據(jù)被采樣到輸入數(shù)據(jù)寄存器

● 開漏模式時,讀輸入數(shù)據(jù)寄存器時可得到I/O口狀態(tài)

● 在推挽模式時,讀輸出數(shù)據(jù)寄存器時可得到最后一次寫的值

1683387492086akrxgvayye

大家都知道,MCU 都有串口,GD32 有好幾個串口。比如說 GD32F207IK有 8個串口,我們可以查手冊知道,串口 0 的引腳對應的 IO 為 PA9,PA10.PA9, PA10 默認功能是 GPIO, 所以當PA9,PA10 引腳作為串口0的 TX,RX 引腳使用的時候,那就是端口復用。

USART0_TX PA9
USART0_RX PA10

關(guān)于串口的內(nèi)容后面的章節(jié)會詳細講解。

2.2 I/O重映射

為了使不同器件封裝的外設(shè) IO 功能數(shù)量達到最優(yōu),可以把一些復用功能重新映射到其他一些引腳上。 GD32 中有很多內(nèi)置外設(shè)的輸入輸出引腳都具有重映射(remap)的功能。 我們知道每個內(nèi)置外設(shè)都有若干個輸入輸出引腳,一般這些引腳的輸出端口都是固定不變的,為了讓設(shè)計工程師可以更好地安排引腳的走向和功能,在 GD32中引入了外設(shè)引腳重映射的概念,即一個外設(shè)的引腳除了具有默認的端口外,還可以通過設(shè)置重映射寄存器的方式,把這個外設(shè)的引腳映射到其它的端口。

復用功能 USART1_REMAP = 0 USART1_REMAP = 1
USART0_TX PA9 PB6
USART0_RX PA10 PB7

從表中可以看出,默認情況下,串口 0復用的時候的引腳位 PA9、PA10,同時我們可以將 TX 和 RX 重新映射到管腳 PB6 和 PB7 上面去。所以重映射我們同樣要使能復用功能的時候講解的 2 個時鐘外,還要使能 AFIO 功能時鐘,然后要調(diào)用重映射函數(shù)。

3 GPIO流水燈硬件電路分析

發(fā)光二極管是屬于二極管的一種,具有二級管單向?qū)щ娞匦?,即只有在正向電壓(二極管的正極接正,負極接負)下才能導通發(fā)光。PF6引腳接發(fā)光二極管(LED1)的正極,所以PF6引腳輸出高電平LED1亮,PF6引腳輸出低電平LED1熄滅,其他LED同理。

1683387492404gy69yo3ul2

值得注意的,不同的開發(fā)板,LED連接的GPIO一般是不同的,請注意修改。

4 GPIO流水燈寄存器分析

要想真正掌握一款單片機,分析寄存器是必不可少,但是對于GD32來再說,GD已經(jīng)將寄存器操作封裝成庫函數(shù),開發(fā)者只需要調(diào)用庫函數(shù)即可,對于初學者來說,只需學會使用使用函數(shù)即可,對于沒有基礎(chǔ)的讀者朋友就不必細究每個寄存器,當學到一定程度,再來一探究竟吧,筆者再這里只是給出GPIO的寄存配置相關(guān)配置表,在后面的章節(jié)也是如此。好了,繼續(xù)進入正題吧。

每個GPIO端口都有兩個32位配置寄存器(GPIO_CTL0 ,GPIO_CTL1) ,兩個16位數(shù)據(jù)寄存器 (GPIO_ISTAT和GPIO_OCTL),一個32位置位寄存器(GPIO_BOP),一個16位復位寄存器(GPIO_BC),一個16位鎖定寄存器(GPIO_LOCK)。每個I/O端口位可以自由編程。

點亮LED,基本步驟是:配置寄存器;控制寄存器。庫開發(fā)只是將傳統(tǒng)的配置方式編程函數(shù),是的單片機開發(fā)變得簡單方便快捷。

我們常用的 IO 端口寄存器只有 4 個: GPIO_CTL0、GPIO_CTL1、 GPIO_OCTL、 GPIO_BOP。其中GPIO_CTL0、GPIO_CTL1 控制著每個 IO 口的模式及輸出速率。

1683387492758gcrsz47q1u

GPIO_CTL0、GPIO_CTL1類似,讀者朋友可以參看《GD32F10x_User_Manual_EN_Rev2.4》數(shù)據(jù)輸入輸出寄存器是將對應的IO口置位,從而進行數(shù)據(jù)的輸入與輸出。

1683387493037oitmwhsdmo

5 GPIO 流水燈實現(xiàn)流程

筆者在上文已經(jīng)分析了GPIO的原理及操作步驟,現(xiàn)在我們就來寫代碼吧。

GPIO是開發(fā)GD32最基本的配置,所以掌握GPIO的配置顯得尤為重要。要實現(xiàn)流水燈,一般步驟可以總結(jié)為如下:

  1. GPIO 時鐘使能;
  2. GPIO 端口模式設(shè)置;
  3. 初始化IO口;
  4. 編寫處理函數(shù);

6 GPIO 流水燈實現(xiàn)

6.1 GPIO庫函數(shù)

GPIO庫函數(shù)相關(guān)的庫函數(shù)如下:

  • gpio_deinit 復位外設(shè)GPIO
  • gpio_afio_deinit 復位AFIO
  • gpio_init GPIO參數(shù)初始化
  • gpio_bit_set 置位引腳值
  • gpio_bit_reset 復位引腳值
  • gpio_bit_write 將特定的值寫入引腳
  • gpio_port_write 將特定的值寫入一組端口
  • gpio_input_bit_get 獲取引腳的輸入值
  • gpio_input_port_get 獲取一組端口的輸入值
  • gpio_output_bit_get 獲取引腳的輸出值
  • gpio_output_port_get 獲取一組端口的輸出值
  • gpio_pin_remap_config 配置GPIO引腳重映射
  • gpio_pin_remap1_config 配置GPIO引腳重映射1
  • gpio_exti_source_select 選擇哪個引腳作為EXTI源
  • gpio_ethernet_phy_select 以太網(wǎng)MII或RMII PHY選擇
  • gpio_event_output_config 配置事件輸出
  • gpio_event_output_enable 事件輸出使能
  • gpio_event_output_disable 事件輸出禁能
  • gpio_pin_lock 相應的引腳配置被鎖定

6.2 流水燈代碼實現(xiàn)

主函數(shù)代碼如下:

/*
    brief      main function
    param[in]  none
    param[out] none
    retval     none
*/
int main(void)
{
    /* configure LED1 GPIO port */
    led_init(LED1);

    /* configure LED2 GPIO port */
    led_init(LED2);

    /* configure LED3 GPIO port */
    led_init(LED3);

    /* configure LED4 GPIO port */
    led_init(LED4);

    while(1) 
    {
        /* turn on LED1, turn off LED4 */
        led_on(LED1);
        led_off(LED4);
        /*delay about 500ms*/
        delay(0xffffff);

        /* turn on LED2, turn off LED1 */
        led_on(LED2);
        led_off(LED1);
        /*delay about 500ms*/
        delay(0xffffff);

        /* turn on LED3, turn off LED2 */
        led_on(LED3);
        led_off(LED2);
        /*delay about 500ms*/
        delay(0xffffff);

        /* turn on LED4, turn off LED3 */
        led_on(LED4);
        led_off(LED3);
        /*delay about 500ms*/
        delay(0xffffff);
    }
}

代碼還是比較簡單的,首先開啟GPIO的時鐘,然后對GPIO初始化,主要是設(shè)置模式和速率,GPIO的初始化代碼如下:

/*
    brief      configure led GPIO
    param[in]  lednum: specify the led to be configured
      arg        LED1
      arg        LED2
      arg        LED3
      arg        LED4
    param[out] none
    retval     none
*/
void led_init(led_typedef_enum lednum)
{
    /* enable the led clock */
    rcu_periph_clock_enable(GPIO_CLK[lednum]);

    /* configure led GPIO port */
    gpio_init(GPIO_PORT[lednum], GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN[lednum]);

    GPIO_BC(GPIO_PORT[lednum]) = GPIO_PIN[lednum];
}

然后就可以控制GPIO高低電平了。

7 實驗現(xiàn)象

將編譯好的程序下載到板子中,可以看到四個LED燈依次閃爍。

審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    17847

    瀏覽量

    360629
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1595

    瀏覽量

    109371
  • 流水燈
    +關(guān)注

    關(guān)注

    21

    文章

    433

    瀏覽量

    60305
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1275

    瀏覽量

    53599
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    419

    瀏覽量

    25171
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 1 開發(fā)環(huán)境搭建

    設(shè)計的GD32F207I-EVAL開發(fā)板。 GD32F207I-EVAL開發(fā)板使用 GD32F207IK作為主控制器,主頻120MHz、集成
    的頭像 發(fā)表于 05-07 23:35 ?1.2w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>1<b class='flag-5'>章</b> <b class='flag-5'>開發(fā)</b>環(huán)境搭建

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 3 GPIO流水燈的前世今生

    上一通過控制GPIO的高低電平實現(xiàn)了流水燈,但只是告訴了大家怎么做,如何實現(xiàn)流水燈,本文將深入剖析的GPIO
    的頭像 發(fā)表于 05-10 08:58 ?5857次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>3<b class='flag-5'>章</b> <b class='flag-5'>GPIO</b><b class='flag-5'>流水燈</b>的前世今生

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 4 GD32啟動流程詳解(Keil版)

    ,所有的一切都需要由開發(fā)者來設(shè)置,這里處理器是沒有堆棧,沒有中斷,更沒有外圍設(shè)備,這些工作是需要軟件來指定的,而且不同的CPU類型、不同大小的內(nèi)存和不同種類的外設(shè),其初始化工作都是不同的。本文將以GD32F207IK (基于Co
    的頭像 發(fā)表于 05-10 09:00 ?1.8w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>4<b class='flag-5'>章</b> <b class='flag-5'>GD32</b>啟動流程詳解(Keil版)

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 7 定時器

    系統(tǒng)滴答定時器一般用來提供“心跳”作用,而GD32定時器最基本功能也是定時,可以設(shè)置不同時間長度的定時。定時器除了最基本的定時功能外,定時器與GPIO有掛鉤使得它可以發(fā)揮強大的作用,比如可以輸出
    的頭像 發(fā)表于 05-11 09:00 ?1.3w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>7<b class='flag-5'>章</b> 定時器

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 8 定時器

    開發(fā)環(huán)境: MDK:Keil 5.30 開發(fā)板:GD32F207I-EVAL MCU:GD32F207IK 1 PWM輸出的工作原理 脈沖寬度調(diào)制(PWM) ,是英文“Pulse Wi
    的頭像 發(fā)表于 05-12 22:14 ?8741次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>8<b class='flag-5'>章</b> 定時器

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 12 ADC

    GD32F2系列有 3 個逐次逼近型的ADC,精度為 12 位,有18個多路復用通道,可以轉(zhuǎn)換來自16個外部通道和2個內(nèi)部通道的模擬信號。其中ADC0 和 ADC1都有 16 個外部通道, ADC2
    的頭像 發(fā)表于 05-16 09:03 ?1.2w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>12<b class='flag-5'>章</b> ADC

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 14 內(nèi)部溫度傳感器

    GD32 有一個內(nèi)部的溫度傳感器,可以用來測量 CPU 及周圍的溫度(TA)。該溫度傳感器在內(nèi)部和 ADCx_IN16 輸入通道相連接,此通道把傳感器輸出的電壓轉(zhuǎn)換成數(shù)字值。溫度傳感器模擬輸入
    的頭像 發(fā)表于 05-17 08:58 ?6192次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>14<b class='flag-5'>章</b> 內(nèi)部溫度傳感器

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 16 RTC

    開發(fā)環(huán)境: MDK:Keil 5.30 開發(fā)板:GD32F207I-EVAL MCU:GD32F207IK 1 RTC工作原理 1.1 RTC簡介
    的頭像 發(fā)表于 05-18 22:14 ?7989次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>16<b class='flag-5'>章</b> RTC

    【圖書分享】《STM32庫開發(fā)實戰(zhàn)指南

    GPIO入門之流水燈 4 深入分析流水燈例程 5
    發(fā)表于 03-13 17:01

    好書分享】入門經(jīng)典:STM32庫開發(fā)實戰(zhàn)指南

    相關(guān)專業(yè)的教材,也適合作為從事嵌入式領(lǐng)域科技工作者的參考書。前言 第一部分 庫開發(fā)初級 1 為什么學習STM32
    發(fā)表于 06-24 20:53

    GD32 MCU原理及固件庫開發(fā)指南》+讀后感

    2介紹GD32 MCU快速入門與開發(fā)平臺搭建的方法,包括對軟硬件開發(fā)平臺、調(diào)試工具、
    發(fā)表于 06-06 21:52

    《嵌入式-STM32開發(fā)指南》第二部分 基礎(chǔ) -1 GPIO流水燈(HAL庫)

    在閱讀本文之前,先看看標準固件庫的內(nèi)容。《嵌入式-STM32開發(fā)指南》第二部分 基礎(chǔ) -1 GPIO1.1
    發(fā)表于 12-05 13:21 ?10次下載
    《嵌入式-STM32<b class='flag-5'>開發(fā)指南</b>》第二部分 基礎(chǔ)<b class='flag-5'>篇</b> -<b class='flag-5'>第</b>1<b class='flag-5'>章</b> <b class='flag-5'>GPIO</b><b class='flag-5'>流水燈</b>(HAL庫)

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 19 程序加密

    GD32通過讀取芯片唯一ID號來實現(xiàn)程序的保護,防止被抄襲。96位的產(chǎn)品唯一身份標識所提供的參考號碼對任意一個GD32微控制器
    的頭像 發(fā)表于 05-20 09:10 ?4624次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>19<b class='flag-5'>章</b> 程序加密

    GD32 MCU入門教程】GD32 MCU GPIO 結(jié)構(gòu)與使用注意事項

    本文是專門為基于GD32 MCU開發(fā)的工程設(shè)計人員提供,主要介紹了GPIO的功能配置、內(nèi)部結(jié)構(gòu)以及在不同場景使用時的注意事項,旨在幫助GD32 MCU
    的頭像 發(fā)表于 09-07 10:34 ?1510次閱讀
    【<b class='flag-5'>GD32</b> MCU入門教程】<b class='flag-5'>GD32</b> MCU <b class='flag-5'>GPIO</b> 結(jié)構(gòu)與使用注意事項

    RK3568驅(qū)動指南|第十二 GPIO子系統(tǒng)-130 GPIO的調(diào)試方法

    RK3568驅(qū)動指南|第十二 GPIO子系統(tǒng)-130 GPIO的調(diào)試方法
    的頭像 發(fā)表于 06-03 11:32 ?274次閱讀
    RK3568驅(qū)動<b class='flag-5'>指南</b>|第十二<b class='flag-5'>篇</b> <b class='flag-5'>GPIO</b>子系統(tǒng)-<b class='flag-5'>第</b>130<b class='flag-5'>章</b> <b class='flag-5'>GPIO</b>的調(diào)試方法