瑞萨单片机论坛
直播中

jf_15811252

3年用户 249经验值
擅长:嵌入式技术
私信 关注
[经验]

【RA4M2设计挑战赛】+AT调试

一、前言

本篇文章进行基础功能配置,实现基本串口打印,OLED屏幕显示字符串,汉字,图片,LED以及按键功能,同时实现串口与esp8266通信。

二、过程

本次开发使用的KEIL进行进行开发,使用手上的PWlink进行调试,比较方便,串口添加。本次一共需要使用两个串口,串口二用来调试输出,串口1用来与esp8266进行通信,首先说一下串口这里遇到的坑,板子上使用的晶振为12MHZ,时钟默认为24MHZ的晶振,导致时钟不一样。
image.png
FSP默认值24MHZ:
image.png
串口配置,在KEIL工具下打开配置工具:
image.png
点击PIN配置,选择SCI1和SCI2

image.png
将SCI1功能选择选择为串口
image.png
将SCI也配置为串口
image.png
在Stacks中添加串口配置:

image.png
完成后如下所示:
image.png

接下来使用IIC与OLED进行通信,使用SCI3,对应板子上设计的IIC接口,选择SCI3,配置功能为IIC:
image.png

在Stacks中添加IIC配置:
image.png

LED灯配置,LED灯只需在pin中将IO设置为输出模式,KEY配置将IO设置输入模式。
image.png

然后保存工程配置,点击生成工程按钮
image.png

注意:
如果在RASC配置中,长时间没有关闭,有事外出将电脑休眠,再次进行配置时发现不能生成工程会报错,此时只需将退出,重新打开即可。

三、工程测试

由于RASC生成了外设的基本配置后,需进行初始化,写回调函数等,不方便工程管理,如果全部放在同一个文件夹中,代码看起来比较乱,可读性比较差,所以对工程进行整理封装。
image.png
测试代码:
`#include "hal_data.h"
/* 用户头文件包含 */
#include "led/bsp_led.h"
#include "key/bsp_key.h"
#include "oled/oled.h"
#include "debug_uart/bsp_debug_uart.h"
#include "bsp_esp8266/bsp_wifi_esp8266.h"

FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER

/* Callback function /
i2c_master_event_t i2c_event = I2C_MASTER_EVENT_ABORTED;
void sci_i2c_master_callback(i2c_master_callback_args_t p_args)
{
i2c_event = I2C_MASTER_EVENT_ABORTED;
if (NULL != p_args)
{
/
capture callback event for validating the i2c transfer event
/
i2c_event = p_args->event;
}
}

fsp_err_t err = FSP_SUCCESS;
uint32_t timeout_ms = 100000;

void hal_entry(void)
{
/* TODO: add your own code here */

LED_Init(); // LED 初始化
OLED_Init();
OLED_Clear();
Debug_UART2_Init();
ESP8266_UART1_Init();
printf("hello world\r\n");
while(1)
{

    if( Key_Scan(KEY_SW1_PIN) == KEY_ON ) //扫描判断按键
    {
        LED1_ON; //宏定义 LED 开
        LED2_ON;
        LED3_ON;
		OLED_ShowString(0,0,"RA4M2",16);
    }
    if( Key_Scan(KEY_SW2_PIN) == KEY_ON )
    {
        LED1_OFF; //宏定义 LED 关
        LED2_OFF;
        LED3_OFF;
		printf("hello world\r\n");
		OLED_Clear();
    }

}

`

四、调试

按键与OLED测试,通过按键进行切换显示,SW1按下,OLED显示:
image.png

按下SW2后,OLED显示消失,LED灯亮:
ED648A8D4FB859036A9A7A0063352D12.jpg

AT指令测试,打开串口调试助手,输入AT+换行符,回复OK

image.png

五、总结

本次基本功能的搭建就已经完成,实现了底层驱动配置,以及AT使用。搭建过程中也遇到了晶振原因的坑以及电脑休眠导致RASC生成工程失效。但还是解决了,工具使用起来也越来越顺手了,有个建议就是RTT的支持,驱动相对比较少,希望能支持完整。
F823252AFCCC774F978066009AF35E29.jpg

更多回帖

发帖
×
20
完善资料,
赚取积分