终于拿到瑞萨的板子了,开始按照教程一步一步的搭建环境,还是非常简单的,就不在赘述了。
本次开发使用的是瑞萨官方的编译器e2。
本文实现的功能:
打开e2,第一次打开可能会让你登录账号,登录在瑞萨官网注册的账号即可,然后按照下面的步骤新建工程即可。
到这里工程就算新建完成,但是什么都没有,需要我们通过FSP添加想要的组件,完成功能开发。
我们需要用到LED以及按键,先查看原理图。
LED原理图如下,由此可知,P415,P404,P405分别控制LED1,LED2,LED3,并且当控制引脚为HIGH的时候LED亮。
按键原理图如下,由此可知,P005连接到了SW01,P006连接到了SW007,且当引脚为LOW时表示按键按下。
知道了硬件连接,接下来就是使用FSP配置响应的硬件功能了。
点击Generate Project Content生成配置代码。
我想实现的功能为:
代码中没有使用FreeRTOS,本来想用的,但是写好了之后没有工作,不知道什么原因,因为没有JLINK调试器,不能在线调试,问题比较难找,后面弄到了JLINK调试器再试试。
按照上面的思路,代码实现如下。
注:这里需要重点说明一下,用户代码的入口为src/hal_entry.c下面的hal_entry(),不要写在main()里面,不然每次生成配置代码都会覆盖该文件,导致写的内容丢失。
void hal_entry(void)
{
static uint16_t delay_cnt = 0U;
static uint8_t led_ctrl_flg = 0U;
static uint8_t key_cmd = 0U;
static bsp_io_level_t key_value[2] = {BSP_IO_LEVEL_HIGH, BSP_IO_LEVEL_HIGH};
while (1)
{
if (key_cmd == 0U)
{
if (delay_cnt >= 50U)
{
delay_cnt = 0U;
switch (led_ctrl_flg)
{
case 0U:
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_HIGH);
break;
}
case 1U:
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_LOW);
break;
}
case 2U:
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_LOW);
break;
}
}
led_ctrl_flg = (led_ctrl_flg >= 2U) ? (0U) : (led_ctrl_flg + 1U);
}
}
else
{
}
if (FSP_SUCCESS == R_IOPORT_PinRead(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_05, &key_value[0]))
{
if (key_value[0] == BSP_IO_LEVEL_LOW)
{
key_cmd = 1U;
}
}
if (FSP_SUCCESS == R_IOPORT_PinRead(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_06, &key_value[1]))
{
if (key_value[1] == BSP_IO_LEVEL_LOW)
{
key_cmd = 0U;
}
}
delay_cnt ++;
/* Delay for 10ms */
R_BSP_SoftwareDelay(10, BSP_DELAY_UNITS_MILLISECONDS);
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}
如果有JLINK,可以直接电机e2左上角的小虫子下载,没有JLINK,可以使用Renesas Flash Programmer工具下载,工具在瑞萨官网下载。
配置完成之后点击Connect,此时会连接失败,如下图
需要按住Reset按钮,之后点击Connect,在松手。
开发板上也有描述,下载完成之后需要将跳线帽变回Interrnal Flash模式。
演示视频见文章底部。
通过简单的使用,对改款单片机有了初步的了解,总结一下。
优点:
缺点:
暂时有如上感受,感谢!
更多回帖