FuShenxiao 发表于 2025-1-9 17:50

FRDM-MCXA156开发板测评(一)——GPIO控制

<p>感谢EEWORLD提供的FRDM-MCXA156开发板测评机会,对开发板的测试首先从点灯开始。</p>

<p>GPIO的控制可以说是最基础的外设控制了,在MCUXprsso IDE中,对于外设引脚的配置可以说和STM32Cube IDE是类似的。</p>

<p>观察原理图,可以看到有一个用户按键、一个唤醒按键、一个RGB灯可以用于GPIO控制。</p>

<p style="text-align: center;"> &nbsp;</p>

<p>&nbsp;</p>

<p style="text-align: center;"> &nbsp;</p>

<p style="text-align: center;"> &nbsp;&nbsp;&nbsp;</p>

<p>进入MCUXpresso IDE,选择 文件-新建-Create a new C/C++ project,选择开发板(选择开发板之后的好处在于board.h中已经定义了相关引脚的别名,方便调用)</p>

<p style="text-align: center;"> &nbsp;</p>

<p>接着为文件命名,并选择相关的依赖文件,最后点击完成生成工程文件</p>

<p style="text-align: center;"> &nbsp;</p>

<p>配置芯片的引脚信息,这里我们选择用户按键和RGB灯的三个引脚。其中用户按键设置为输入,且默认为高电平,RGB灯三个引脚设置为推挽输出,默认为低电平。</p>

<p style="text-align: center;"> &nbsp;</p>

<p>编写主函数如下,用于实现按键按下时,RGB灯三色均点亮,即发出白光</p>

<pre>
<code>int main(void) {

    /* Init board hardware. */
    BOARD_InitBootPins();
    BOARD_InitBootClocks();
    BOARD_InitBootPeripherals();

    LED_RED_INIT(LOGIC_LED_OFF);
    LED_BLUE_INIT(LOGIC_LED_OFF);
    LED_GREEN_INIT(LOGIC_LED_OFF);

    /* Init FSL debug console. */
    BOARD_InitDebugConsole();

    while(1) {
      if(GPIO_PinRead(BOARD_SW3_GPIO, BOARD_SW3_GPIO_PIN) == 0)
      {
              LED_RED_TOGGLE();
              LED_BLUE_TOGGLE();
              LED_GREEN_TOGGLE();
              while(GPIO_PinRead(BOARD_SW3_GPIO, BOARD_SW3_GPIO_PIN) == 0);
      }
    }
    return 0 ;
}</code></pre>

<p>演示视频:</p>

<p>b70b628d73e1beb0778346677ac755c0</p>

<p>代码文件:</p>

<div></div>

Jacktang 发表于 2025-1-11 09:32

<p>RGB灯三色均点亮,即发出白光,没错</p>

<p>可以整个RGB三个不同占空比,进行调色测试</p>
页: [1]
查看完整版本: FRDM-MCXA156开发板测评(一)——GPIO控制