开发板介绍
板子非常漂亮哦。

资源也很丰富:
1个复位按键
2个用户按键
2个触摸按键
3个LED
2个PMOD接口
板载USB转TTL模块,可用于串口通信和烧录
板载SWD接口,方便用户调试与下载
支持 TrustZone 的 100MHz Arm Cortex-M33
安全芯片的功能
512kB 闪存、64kB SRAM(支持奇偶校验)以及 64kB ECC SRAM
8KB 数据闪存,提供与 EEPROM 类似的数据存储功能
1kB 休眠用 SRAM
100 引脚封装
电容式触摸传感单元 (CTSU)
全速 USB 2.0,支持主机模式和设备模式
CAN 2.0B
四线 SPI
SCI(UART、简单 SPI、简单 I2C)
独立SPI/I2C 多主接口
SDHI 和 MMC
开发环境
采用e2stuio进行编码开发。
FSP非常好用,管脚配置方便。

代码实现
参考代码如下:
#include "hal_data.h"
#include <stdio.h>
FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER
fsp_err_t err = FSP_SUCCESS;
unsigned char send_buff[100];
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;
}
}
#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_SCI_UART_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;
}
void hal_entry(void)
{
err = R_SCI_UART_Open(&g_uart0_ctrl, &g_uart0_cfg);
assert(FSP_SUCCESS == err);
unsigned char buff[]="RA E2STUDIO";
uint8_t buff_len = strlen(buff);
err = R_SCI_UART_Write(&g_uart0_ctrl, buff, buff_len);
if(FSP_SUCCESS != err) __BKPT();
while(uart_send_complete_flag == false){}
uart_send_complete_flag = false;
sprintf(send_buff, "\nHello World!.\n");
uint8_t len = strlen(send_buff);
err = R_SCI_UART_Write(&g_uart0_ctrl, send_buff, len);
if(FSP_SUCCESS != err) __BKPT();
while(uart_send_complete_flag == false){}
uart_send_complete_flag = false;
memset(send_buff, '\0', sizeof(100));
int int_i=55;
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);
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
}
#if BSP_TZ_SECURE_BUILD
R_BSP_NonSecureEnter();
#endif
}
void R_BSP_WarmStart(bsp_warm_start_event_t event)
{
if (BSP_WARM_START_RESET == event)
{
#if BSP_FEATURE_FLASH_LP_VERSION != 0
R_FACI_LP->DFLCTL = 1U;
#endif
}
if (BSP_WARM_START_POST_C == event)
{
R_IOPORT_Open (&g_ioport_ctrl, g_ioport.p_cfg);
}
}
#if BSP_TZ_SECURE_BUILD
BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable ();
BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable ()
{
}
#endif
代码编译

显示成功
代码下载

显示成功了。
串口接收
配置115200接收
显示接受乱码:

感觉还有问题,后面再仔细研究一下吧。
|