【致敬未来的攻城狮计划】打卡3:点亮LED

点亮LED

本文主要参考文章:【致敬未来的攻城狮计划】— 连续打卡第十一天:FSP固件库开发点亮第一个灯。_嵌入式up的博客-CSDN博客

在32阶段我们已经接触过类似做法了。初始化引脚模式(可以手动库函数,或者在工具包图形化界面里配置),设置引脚输出值。

设置 FSP Smart Configurator

像上次一样创建一个项目。

首先我们翻一下RA2E1的数据手册看看led在哪。

image-20230624005444720

如图所示,一红一蓝,502 501,输出高电平亮。

因此 configurator 里的pin如图所示设置501 502为output initial high

image-20230624005611958

配置完成后点击右上角 generate project content,输出更新配置到该项目中。

Keil代码编写

接下来就是编写keil里,驱动两个led灯输出高电平的部分了。

image-20230624011259206

hal_entry.c 是相当于 main.c 的入口函数。其他都是 configurator 提供的配置函数。

引脚设置已经设置好了。我们打开 pin_data.c 可以看到:

image-20230624011748710

这就代表确实初始化配置加进代码里了。

然后在 hal_entry.c 里是通过这个 open 函数在 warm_start 里初始化了。

image-20230624012345948

接下来我们需要一个写入位函数。在 r_ioport.c 里。

image-20230624012543274

参数1:固定参数,传入 &p_ctrl。

参数2:引脚,老方法 goto the definition

image-20230624013133790

参数3:电平。

image-20230624013206720

然后就简单了,只需要在主函数里调用write函数写亮led。

void hal_entry(void)
{
    
    
    /* TODO: add your own code here */
		while(1){
    
    
				 R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_01, BSP_IO_LEVEL_HIGH);
				 R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_02, BSP_IO_LEVEL_HIGH);
		}

#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

实验结果

image-20230624013456059

猜你喜欢

转载自blog.csdn.net/jtwqwq/article/details/131356397