投注威廉希尔彩票吗?
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【RA0E1FPB开发板试用】点亮开发板

共4条 1/1 1 跳转至

【RA0E1FPB开发板试用】点亮开发板

工程师
2025-06-08 21:22:09     打赏

FPB-RA0E1是瑞萨官方的RA0E1快速原型开发板

可以访问官网:https://www.renes

as.cn/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/fpb-ra0e1-ra0e1-fast-prototyping-board?queryID=ba8e37f67ff29c9dbec84baac6b138cd#documents

获得相关资料。

瑞萨MCU的集成开发环境是e2 studio。由于之前有RA生态社区的开发板试用经历,e2 studio已经安装过了,不用重新安装。

RA生态社区的开发板不同,FPB-RA0E1提供了板载的JLINK调试器,下载调试程序十分方便。但是JLINK竟然没有和MCU的串口连接,需要额外外接串口工具才可以和电脑通讯。

FPB-RA0E1是官方开发板,在e2 studio中可以直接基于开发板建立工程,但是e2 studio缺省将所有的引脚都初始化了,不利于初学者使用,最好在建立工程时从选择MCU(R7FA0E1073CFJ)开始。


1、建立工程

1.png

2.png

建立工程时,选择MCU:RR7FA0E1073CFJ

2、管脚配置

3.png

LED1:P008;LED2:P009

USER_BUTTON:P200

串口:P207,P208

3、STACKS配置

4.png

UART配置:

5.png

外部中断配置:

6.png

4、软件部分

1)printf重定向

#ifdef __GNUC__                                 //串口重定向
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif


PUTCHAR_PROTOTYPE
{
err = R_UARTA_Write(&g_uart0_ctrl, (uint8_t *)&ch, 1);
if(FSP_SUCCESS != err) __BKPT();
while(uart_send_complete_flag == false){}
uart_send_complete_flag = false;
return ch;
}

int _write(int fd,char *pBuffer,int size)
{
for(int i=0;i<size;i++)
{
__io_putchar(*pBuffer++);
}
return size;
}

2)uart回调函数

volatile bool uart_send_complete_flag = false;
void user_uart_callback (uart_callback_args_t * p_args)
{
if(p_args->event == UART_EVENT_TX_COMPLETE)
{
uart_send_complete_flag = true;
}
}

3)外部中断回调

/* 外部中断回调函数 */
void external_irq_callback(external_irq_callback_args_t *p_args)
{
(void)p_args; // 未使用参数
bsp_io_level_t level;

//printf("external_irq_callback\r\n");
/* 检查P200引脚状态 */
err=R_IOPORT_PinRead(&g_ioport_ctrl,BSP_IO_PORT_02_PIN_00,&level);
assert(FSP_SUCCESS == err);

if(level==BSP_IO_LEVEL_HIGH)
{
if(button_pressed==1){
button_pressed=0;
}else{
button_pressed=1;
}
}

}

4)hal_entry函数

void hal_entry(void)
{
/* TODO: add your own code here */
err = R_UARTA_Open(&g_uart0_ctrl, &g_uart0_cfg);
assert(FSP_SUCCESS == err);

/* Configure the external interrupt. */
err = R_ICU_ExternalIrqOpen(&g_external_irq0_ctrl, &g_external_irq0_cfg);
assert(FSP_SUCCESS == err);
/* Enable the external interrupt. */
/* Enable not required when used with ELC or DMAC. */
err = R_ICU_ExternalIrqEnable(&g_external_irq0_ctrl);
assert(FSP_SUCCESS == err);


unsigned char buff[]="RA E2STUDIO";
uint8_t buff_len =(uint8_t) strlen(buff);
err = R_UARTA_Write(&g_uart0_ctrl, buff, buff_len);
if(FSP_SUCCESS != err) __BKPT();
while(uart_send_complete_flag == false){}
uart_send_complete_flag = false;

int int_i=0;
float float_i=66.20f;
char char_i[]="hello e2studio";
while(1)
{
printf("int_i=%d\n",int_i);
printf("float_i=%.2f\n",float_i);
printf("char_i='%s'\n",char_i);
int_i++;
if(int_i>100)
int_i=0;

if(button_pressed==1){
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_08, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_09, BSP_IO_LEVEL_HIGH);
}
else
{
//R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_08, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_09, BSP_IO_LEVEL_LOW);
}
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
}


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

主要实现UART输出,每按一次USER_BUTTON翻转LED1、LED2.

5)运行

7.png

tutieshi_480x270_7s (1).gif


5、总结

瑞萨的软件环境具有独立性,如果习惯了其他厂商的产品,可能需要一段适应期。

瑞萨的资料非常齐全,可以从官网、RA生态社区和其他途径获得。并且B站的教学视频非常丰富,入门起来不难。







关键词: RA0E1 FPB    

专家
2025-06-08 22:03:27     打赏
2楼

感谢分享


专家
2025-06-08 22:04:53     打赏
3楼

感谢分享


专家
2025-06-08 22:08:47     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]