MSPM0开发学习笔记:GPIO

根据以下步骤进行示例文件的Import 图中的driverlib即是我们需要使用到的例程文件,可以看到这里面有许多gpio相关的例程文件,点进去之后里面是有四个文件夹,我们不需要点开任何一个,直接选择文件夹就好,这里我们用到的是gpio_software_poll软件轮询 导入之后即是README文件的界面,可以先阅读一下,重点是Example Summary部分与Example Usage部分。 ---


MSPM0开发学习笔记

第一章 初步安装与配置
第二章 GPIO


一、Import示例文件

根据以下步骤进行示例文件的Import
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图中的driverlib即是我们需要使用到的例程文件,可以看到这里面有许多gpio相关的例程文件,点进去之后里面是有四个文件夹,我们不需要点开任何一个,直接选择文件夹就好,这里我们用到的是gpio_software_poll软件轮询
在这里插入图片描述
导入之后即是README文件的界面,可以先阅读一下,重点是Example Summary部分与Example Usage部分。


二、syscfg配置

syscfg是图形化的配置工具,用起来还是十分方便的,我们可以现在这边进行配置,之后在进入代码的编写部分。

1、GPIO_LED

在这里插入图片描述
黄色的部分更多是固定的系统配置,我们不需要去修改,这边我们着重看GPIO部分的配置。
在这里插入图片描述
上面的GPIO_LEDS和GPIO_BUTTONS是代表两个大组,方便我们进行分类,里面我们可以添加一条一条的小的配置,比如说下面的这个USER_LED_1
现在来看一下几个参数

参数作用与配置
Name名字
Direction方向,这边设置为输出
Initial Value初始值 反正都是要设置的,这边无所谓
Assigned Port分布到A组还是B组
Assigned Port Segment不用管自动设置
Assigned PinA组/B组中的哪一号(这边变成了PA0)

为什么是PA0呢,现在我们再看一下README文件,因为我们是例程,所以按着例程来设置学习
在这里插入图片描述
我们再来看下原理图
在这里插入图片描述
原来是用PA0来控制这个LED灯,现在明白了

2、GPIO_SWITCH

在这里插入图片描述
相同的地方就不赘述了,但是要注意看黄色的地方 为什么要选择Pull-up的上拉电阻,为什么README里面也要特地强调这个上拉电阻
在这里插入图片描述
我们来看其原理图
在这里插入图片描述
按下时候读取低电平,但是松开时是不确定的浮空状态,应该内部对齐进行上拉,所以需要设置上拉电阻。

设置完之后进行编译即可


三、程序设计

具体代码如下:

#include "ti_msp_dl_config.h"

int main(void)
{
    SYSCFG_DL_init();

    /* LED on by default */

    while (1) {
        if (!DL_GPIO_readPins(GPIO_SWITCHES_PORT, GPIO_SWITCHES_USER_SWITCH_1_PIN)) 
        {
            DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
        } 
        else {
            DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
        }
    }
}

利用While进入循环
利用DL_GPIO_readPins函数进行读取按钮的状态并取反(未取反的话是按下低电平,松开高电平),这个函数需要传入两个参数,具体的参数名称我们可以在Debug/ti_msp_dl_config.h文件里面查找并直接复制,第一个参数是指定A组还是B组,后一个参数是具体的多少对应的参数名称

在这里插入图片描述

接着利用DL_GPIO_setPins进行设置引脚高电平,或是利用DL_GPIO_clearPins进行清楚恢复低电平。

四、补充

DL_GPIO_readPins返回的并不是0和1布尔值什么的,而是一个2进制数,比如如果将这边的返回值改为2进制查看的话是0010 0000 0000 0000 0000 0000 是在从右往左数的第21位为1 刚好我们查询的也是第21位。


MSPM0開發學習筆記:GPIO

根據以下步驟進行示例文件的Import 圖中的driverlib即是我們需要使用到的例程文件,可以看到這裡面有許多gpio相關的例程文件,點進去之後裡面是有四個文件夾,我們不需要點開任何一個,直接選擇文件夾就好,這裡我們用到的是gpio_software_poll軟件輪詢 導入之後即是README文件的界面,可以先閱讀一下,重點是Example Summary部分與Example Usage部分。 ---

來源:https://blog.csdn.net/2403_87969572/article/details/148102093

抓取時間(ISO本地):2026-05-18 05:17:04


MSPM0開發學習筆記

第一章 初步安裝與配置
第二章 GPIO


文章目錄


一、Import示例文件

根據以下步驟進行示例文件的Import
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

圖中的driverlib即是我們需要使用到的例程文件,可以看到這裡面有許多gpio相關的例程文件,點進去之後裡面是有四個文件夾,我們不需要點開任何一個,直接選擇文件夾就好,這裡我們用到的是gpio_software_poll軟件輪詢
在這裡插入圖片描述
導入之後即是README文件的界面,可以先閱讀一下,重點是Example Summary部分與Example Usage部分。


二、syscfg配置

syscfg是圖形化的配置工具,用起來還是十分方便的,我們可以現在這邊進行配置,之後在進入代碼的編寫部分。

1、GPIO_LED

在這裡插入圖片描述
黃色的部分更多是固定的系統配置,我們不需要去修改,這邊我們著重看GPIO部分的配置。
在這裡插入圖片描述
上面的GPIO_LEDS和GPIO_BUTTONS是代表兩個大組,方便我們進行分類,裡面我們可以添加一條一條的小的配置,比如說下面的這個USER_LED_1
現在來看一下幾個參數

參數作用與配置
Name名字
Direction方向,這邊設置為輸出
Initial Value初始值 反正都是要設置的,這邊無所謂
Assigned Port分佈到A組還是B組
Assigned Port Segment不用管自動設置
Assigned PinA組/B組中的哪一號(這邊變成了PA0)

為什麼是PA0呢,現在我們再看一下README文件,因為我們是例程,所以按著例程來設置學習
在這裡插入圖片描述
我們再來看下原理圖
在這裡插入圖片描述
原來是用PA0來控制這個LED燈,現在明白了

2、GPIO_SWITCH

在這裡插入圖片描述
相同的地方就不贅述了,但是要注意看黃色的地方 為什麼要選擇Pull-up的上拉電阻,為什麼README裡面也要特地強調這個上拉電阻
在這裡插入圖片描述
我們來看其原理圖
在這裡插入圖片描述
按下時候讀取低電平,但是鬆開時是不確定的浮空狀態,應該內部對齊進行上拉,所以需要設置上拉電阻。

設置完之後進行編譯即可


三、程序設計

具體代碼如下:

#include "ti_msp_dl_config.h"

int main(void)
{
    SYSCFG_DL_init();

    /* LED on by default */

    while (1) {
        if (!DL_GPIO_readPins(GPIO_SWITCHES_PORT, GPIO_SWITCHES_USER_SWITCH_1_PIN)) 
        {
            DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
        } 
        else {
            DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
        }
    }
}

利用While進入循環
利用DL_GPIO_readPins函數進行讀取按鈕的狀態並取反(未取反的話是按下低電平,鬆開高電平),這個函數需要傳入兩個參數,具體的參數名稱我們可以在Debug/ti_msp_dl_config.h文件裡面查找並直接複製,第一個參數是指定A組還是B組,後一個參數是具體的多少對應的參數名稱

在這裡插入圖片描述

接著利用DL_GPIO_setPins進行設置引腳高電平,或是利用DL_GPIO_clearPins進行清楚恢復低電平。

四、補充

DL_GPIO_readPins返回的並不是0和1布爾值什麼的,而是一個2進制數,比如如果將這邊的返回值改為2進制查看的話是0010 0000 0000 0000 0000 0000 是在從右往左數的第21位為1 剛好我們查詢的也是第21位。


MSPM0 Dev Notes: GPIO

Follow the wizard: Pick driverlib examples—use gpio_software_poll (select the folder, don’t drill in). Read README Example Summary and Example Usage. ---

Captured at (local ISO): 2026-05-18 05:17:04


MSPM0 Dev Notes

Chapter 1 Install and setup
Chapter 2 GPIO


I. Import example project

Follow the wizard:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Pick driverlib examples—use gpio_software_poll (select the folder, don’t drill in).
在这里插入图片描述
Read README Example Summary and Example Usage.


II. SysConfig

Graphical setup before coding.

1. GPIO_LED

在这里插入图片描述
Yellow blocks are system defaults—focus on GPIO.
在这里插入图片描述

Groups GPIO_LEDS / GPIO_BUTTONS; entry USER_LED_1:

ParameterMeaning
NameSymbol name
DirectionOutput here
Initial ValueAny (we set in code)
Assigned PortPort A or B
Assigned Port SegmentAuto
Assigned PinPin index → PA0

README + schematic show PA0 drives the LED:
在这里插入图片描述
在这里插入图片描述

2. GPIO_SWITCH

在这里插入图片描述
Enable pull-up—README stresses it:
在这里插入图片描述
Schematic: pressed = low; released would float without pull-up.
在这里插入图片描述

Build after config.


III. Application code

#include "ti_msp_dl_config.h"

int main(void)
{
    SYSCFG_DL_init();

    /* LED on by default */

    while (1) {
        if (!DL_GPIO_readPins(GPIO_SWITCHES_PORT, GPIO_SWITCHES_USER_SWITCH_1_PIN)) 
        {
            DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
        } 
        else {
            DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
        }
    }
}

Loop reads switch (inverted logic), setPins / clearPins for LED. Pin macros live in Debug/ti_msp_dl_config.h.
在这里插入图片描述

IV. Notes

DL_GPIO_readPins returns a bitmask, not 0/1—e.g. bit 21 set when reading pin 21.