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.

[参考译文] CCS/EK-TM4C123GXL:尝试使用板载开关控制两个 LED

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/639492/ccs-ek-tm4c123gxl-trying-to-control-two-leds-with-on-board-switches

大家好、我正在尝试使用位于 PF0和 PF4的开关来控制两个 LED、当我尝试运行代码时、只有一个开关工作正常、即当我按下 SW2时 LED 亮起、
另一个 LED 持续亮起。
我很困惑问题是在我的代码还是电路中。

下面是代码、我想从 PF0和 PF4读取并写入 PD0和 PD1。

感谢____________________________________________________________________________________________________________________________




#include 
#include 
#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "inc/tm4c123gh6a.h"
#include 

易失性 uint32_t 代码;

void PORtd_Init (void)
{
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOD))
{};
GPIO_PORTD_DEN_R= 0x03;
}

void PORTF_Init (void)
{
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOF)){};
GPIO_PORTF_LOCK_R= 0x4C4F434B;
GPIO_PORTF_CR_R=0x11;
GPIO_PORTF_PUL_R=0x11;
GPIO_PORTF_DEN_R=0x11;
}



int main (void)
{
PORTD_Init();
PORTF_Init();
GPIOPinTypeGPIOOutput (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1);
GPIOPinTypeGPIOInput (GPIO_PORTF_BASE、GPIO_PIN_0|GPIO_PIN_4);



while (1)
{

代码= GPIOPinRead (GPIO_PORTF_BASE、GPIO_PIN_0|GPIO_PIN_4);


GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_0|GPIO_PIN_1、CODE);


}
}



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

    我的朋友有两件事:
    a)使用 DRM 代码效率低下-浪费时间/精力-尤其是当极好的 API 准备就绪时
    b)您确实意识到 PD0和 PD1与其他 MCU 引脚绑定、从而对您的工作提出了挑战-您不会这样做吗? (虽然这是 LPAD 上的内容、但可能尚未转移到您的电路板上、也是...)

    更易于读取的 API 代码:

    [引用 USER="Raza Haider"] GPIOPinWrite (GPIO_PORTD_BASE、GPIO_PIN_0|GPIO_PIN_1、CODE);[/引用]

    请注意、变量"code"可能采用一个值(即0x10、0x11或0x00)、这证明了在上驱动 PD1的方法不正确!   如果 PF 和 PD...  采用相同的数字引脚-它们...  (0x02)将为 PD1提供高电平输出。

    选择使用"变量"(这违反了 kiss)而不是"硬编码值"(遵循 kiss)、就是"您在中完成了"。   (现在很容易校正-但减去该变量!)

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

    我正在尝试执行此操作、我尝试在端口 b 上使用相同的数字引脚、定义 PB0和$上的输出 LED、这次一个 LED 完全保持关闭。  

    当我使用 GPIOPinRead API 时、请告诉我 、它在哪里返回读取引脚? 我想持续 观察 PF 和 PF4上的输入、但我无法这样做...

     请提供建议