This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LP-MSPM0L1306:GPIO

Guru**** 2448780 points
Other Parts Discussed in Thread: MSPM0L1306, SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1188727/lp-mspm0l1306-gpio

器件型号:LP-MSPM0L1306
主题中讨论的其他器件:MSPM0L1306SysConfig
  1. 我们正在使用 LP_MSPM0l1306开发板、我们刷新了作为源代码提供的示例代码。
  2. GPIO 程序正常工作的引脚、因为它已在(ti_MSP_config.h)头文件中定义。
  3. 我们还需要使用其他引脚、但我们使用了这些引脚、但无法获得预期的输出。
  4. 在源代码中给出的值与此类似(DL_GPIO_clearPins (GPIO_LED_PORT、GPIO_LED_USER_LED_2_PIN);) 并且工作正常、如果我们在不同模式(DL_GPIO_togglePins (GPIOA、DL_GPIO_PIN_26)中针对相同引脚进行了类似更改、则工作正常。)

    但是、如果我们像  这样写入(DL_GPIO_togglePins (GPIOA、DL_GPIO_PIN_0)、则它不起作用、但它正在编译中没有任何错误。

 

    请帮助我们将其他 GPIO 引脚用于用户定义的 I/O

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    如果您的引脚0用于 PA0、则需要上拉电阻器、因为它是一个开漏 IO 引脚。 我建议切换到使用 PA3、如果您遇到同样的情况、请告诉我。

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke LedBetter、

               我使用 PA3引脚来切换 LED、但我没有获得输出。因此、请告知我们应该如何解决此问题。

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    我导入并使用了 GPIO_TOGGLE_OUTPUT 示例代码、在 SysConfig 中、我刚刚添加了另一个 GPIO 和 PA3上的引脚。 对于该代码、我刚刚将 GPIO_GRP_0_PIN_0_PIN 添加到第43行的 SET 引脚功能中。 PA3未连接到 LED、因此除非您连接示波器或使用万用表查看它、否则您无法直观地看到它发生变化。

    如果您想改用 PA0、因为它是一个开漏 IO、我们在电路板上确实有上拉电阻器。 如果您已组装 J10、则会将其路由至上拉 PA0引脚。 这将允许您切换/设置 PA0并查看 LED D2上的输出。

    如果您遇到进一步的问题、可以发送代码片段以及 GPIO 和所选 PinMux 的 SysConfig 部分的屏幕截图。

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="452230" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1188727/lp-mspm0l1306-gpio/4483140 #4483140"] GPIO 和选定 PinMux 的 SysConfig 部分的屏幕截图。[/quot]

    您好、Luke、

      我们可以切换 PA3引脚和其他引脚的 LED。现在我们使用 ADC 模块、在附加的程序中、gADCResult 为0x7ff。

    我们使用1k 欧姆电位计来调节 ADC 电压,一旦代码上载,LED 指示灯就会亮起,但当我们使用电位计更改 ADC 电压时,LED 指示灯不会熄灭,但如果我们为 gADCult 分配0x001,LED_D2的亮度将逐渐变化。请帮助我们 使用(0x7ff)值。

    int main (空)

    SYSCFG_DL_init ();

    NVIC_EnableIRQ (ADC12_0_INST_INT_IRQN);
    gCheckADC = false;

    while (1){
    DL_ADC12_startConversion (ADC12_0_INST);

    while (false =gCheckADC){
    __WFE();

    gAdcResult = DL_ADC12_getMemResult (ADC12_0_INST、DL_ADC12_MEM_IDX_0);

    if (gAdcResult > 0x7ff)
    //if (gAdcResult > 0x001)

    DL_GPIO_setPins (GPIO_LED_PORT、GPIO_LED_USER_LED_1_PIN);
    }否则{
    DL_GPIO_clearPins (GPIO_LED_PORT、GPIO_LED_USER_LED_1_PIN);

    gCheckADC = false;
    DL_ADC12_enableConversions (ADC12_0_INST);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    这直接是 ADC12_Single_conversion 示例。 我已经测试了这一点、它在我的终端上工作、方法是将电位计的一端连接到 GND、另一端连接到3.3V、中间连接到 PA25。 由于要检查的值为0x7FF、因此它是 FSR 的一半、因此如果电压大于1.65V、则 LED 将亮起、如果小于1.65V、则 LED 应熄灭(示例中使用 VDD 作为参考)。 我不希望该示例能够对亮度进行任何更改、因为它只是打开或关闭 GPIO、这将产生单个电压/电流值。

    如果您的 LED 持续亮起、那么我相信您的电压将高于1.6V。 您是否使用试验电路板设置? 我建议连接示波器或使用万用表获取输出电压、如果使用试验电路板、可能会出现短路。

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luke、

    我正在使用 LP_MSPM0L1306开发板、在该开发板中、我选择了 PA25.I 并选择 了 ADC12_SINGLE_COLUM变换 内部参考 示例。 我 已将电位计的一端连接到 GND、另一端连接到3.3V、中间端连接到 PA25。 我使用了10位 ADC 分辨率、因此我使用0x200 (等于1.65V)检查 adcresult 值。当电压高于校验电压(即1.65V)时、必须打开 LED、但它不会打开、如果我们调试它卡在这条线路中(while (false =gCheckADC))。因此、请帮助我们找到此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    我只是通过将 SysConfig 中的示例从12位更改为10位、并将检查从0x7ff 更改为0x200来测试代码。 我使用了电位器、但您也可以将跳线从 PA25连接到它旁边的3.3V。 通过执行此操作、您可以验证跳线是否正确填充、否则 LED 将不会亮起(或将非常微弱)。

    您是否未组装 J4? 这位于板左下角的光传感器部分。 如果填充了此模块、则会将 PA25上的连接短接至接地。  

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Luke:      
      
    正如您所回答的、PA.25通过 J4接地。 移除跳线(J4)后、我们获得了预期的输出。我们尝试使用 PA15、PA27这两个引脚、按照与 PA25引脚相同的步骤查找 ADC 输出。但我们无法获取输出。我们移除了引脚对应的跳线。无法修改 ADC Pinmux    CCS IDE 的 SysConfig 中的外设和引脚配置。请尽快答复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    要更改 ADC 引脚、您需要更改与转换存储器配置关联的通道、不能直接通过 PinMux 选项卡更改这些引脚。

    下面显示的通道0与引脚31/PA27相关

    下面显示的通道2与引脚29/ PA25相关

    需要移除的跳线为 J1 (热敏电阻电路)和 J13 (RGB LED 电路)。 您是否尝试对所有这些器件进行采样、或者您是否每次检查一个?  

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luke、  

          我们已经尝试一次获取一个样本。我们移除了 J1和 J13跳线、分别在 PA15和 PA27引脚中获取 ADC 输出。但我们没有获得 预期的输出。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    您能否给我发送一张 launchpad 设置图片和 ADC 部分 SysConfig 的屏幕截图?

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../Reg-image.zip

    您好、Luke、

       我们随附了 Launchpad 设置映像和 SysConfig、以获取 ADC 屏幕截图供您参考。请尽快检查并恢复。

    此致、

    LAVANYA M、
    助理-软件工程师、
    印度罗根工业有限公司
    Ganapathy、Coimbatore -641006。
    电话:+91 422 4330362

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果您使用了示例代码、则需要取消选中"重复模式"。 取消选中此选项后、程序按预期工作。  

    将您的代码调整到下面。 在我添加的 ISR 中、 DL_ADC12_disableConversions (ADC12_0_INST);这允许 CPU 执行其余代码、否则它会不断被 ADC 中断。

    m/*
     * Copyright (c) 2020, Texas Instruments Incorporated
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     * *  Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     * *  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.
     *
     * *  Neither the name of Texas Instruments Incorporated 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 OWNER 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 "ti_msp_dl_config.h"
    
    volatile bool gCheckADC;
    volatile uint16_t gAdcResult;
    
    int main(void)
    {
        SYSCFG_DL_init();
    
        NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);
        gCheckADC = false;
    
        while (1) {
           DL_ADC12_startConversion(ADC12_0_INST);
    
            while (false == gCheckADC) {
                __WFE();
            }
    
            gCheckADC = false;
            gAdcResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
    
            if (gAdcResult > 0x200) {
                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);
            }
            DL_ADC12_enableConversions(ADC12_0_INST);
        }
    }
    
    void ADC12_0_INST_IRQHandler(void)
    {
        switch (DL_ADC12_getPendingInterrupt(ADC12_0_INST)) {
            case DL_ADC12_IIDX_MEM0_RESULT_LOADED:
                gCheckADC = true;
                DL_ADC12_disableConversions(ADC12_0_INST);
                break;
            default:
                break;
        }
    }
    

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luke、

        

                   我们面临着通过 USB 电缆上传代码的问题、之前我们使用相同的方法上传代码、但突然无法正常工作。

    还随附了错误屏幕截图图像。 请帮帮我们。

           

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luke、

      

    我们在通过 USB 电缆上传代码时遇到问题、我们之前使用相同的方法上传代码、但突然无法正常工作。

    还随附了错误屏幕截图图像。 请帮帮我们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    您能否验证您没有使用低功耗模式、并且您只擦除主存储器。

    低功耗模式应处于睡眠0

    右键点击"Project"、转到"Project Properties"->"Debug"->"MSPM0 Flash Settings"。

    要恢复器件、您需要调用 BSL。

    按住 NRST 和 S1 (PA18)、然后按下 CCS 上的调试按钮。 CCS 将编译工程、一旦出现第一个弹出窗口、先释放 NRST、然后释放 S1。 MSPM0_known_issues_faq 中提供了更多恢复选项  

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luke、

             我们附加了 PWM 的图像文件并更改了占空比,我们希望生成 具有不同职责的 PWM,这些职责随着 ADC 输入的变化而逐渐变化,并且需要使用计时器分别打开和关闭500ms。由于它是 SysConfig,因此我们无法在循环 中进行修改。

                               

    请帮帮我们

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Mohankumar、

    我将在我之前创建 的单独主题中向您回复 https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1196893/lp-mspm0l1306-changing-duty-cycle 

    此致、

    Luke