0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞萨RA2L1评估板初体验-歌曲切换步骤

冬至子 来源:当字符爱上音符 作者:当字符爱上音符 2023-10-11 12:57 次阅读

一、前言
第一次使用瑞萨的板子和RTT studio开发环境,跟着瑞萨活动的实践步骤,从最初的不适应,到慢慢熟悉,现在觉得RTT studio的IDE做得非常方便,瑞萨的教程也做的十分详细。但是因为工作原因,空闲时间有限,只跑了相关的几个外设实验,做了一个简易的音乐播放器,用按钮进行歌曲切换。后续将继续研究其他的外设应用。

二、硬件连接

1.jpg

用到的硬件资源:
1、UART9: P109/P110
2、按键输入(P004)
3、PWM输出:P500
4、SPI0

1.jpg

三、软件工具
1、环境搭建
rt-thread studio 安装;
 灵活配置软件包(FSP)
 CPK-RA2L1板级支持包安装
usb转串口工具
(具体的步骤可参考瑞萨RA2L1开发实践指南,图文并茂,十分详细)

2、另外用到软件:
(1)中景园电子1.8寸显示屏自带汉字编码软件
(2)音乐编码软件Music Encode,通过手动输入简谱进行转换,如下图所示。

1.jpg

四、关键代码:

play.c
int player_next(player_t player)
{
uint16_t len;
rt_uint32_t level;
/* 关闭全局中断 /
level = rt_hw_interrupt_disable();
/
将当前播放歌曲的序号 加一 /
if (player->song_current < player->song_num)
{
player->song_current ++;
}
else
{
player->song_current = 1;
}
g_songnum = player->song_current;
/
更新播放器的当前歌曲的播放时间以及总时间 /
player->song_time_pass = 0;
/
打开全局中断 /
rt_hw_interrupt_enable(level);
player->decode->control(player->song_sheet[player->song_current - 1], DECODE_OPS_CMD_GET_LEN, &len);
/
关闭全局中断 /
level = rt_hw_interrupt_disable();
player->song_time_all = len;
/
打开全局中断 */
rt_hw_interrupt_enable(level);
if (player->status != PLAYER_RUNNING)
{
player_play(player);
}
return 0;
}
LCD.c
void lcd_thread_handler(void *parameter)
{
rt_uint8_t temp = 0;
rt_kprintf("lcd thread handler!");
LCD_Init();
LCD_Fill(0,0,LCD_W,LCD_H,WHITE);
lcd_show_menu();
while(1)
{
rt_kprintf("lcd thread running!");
if(temp != g_songnum)
{
rt_kprintf("lcd,temp = %d,g_songnum = %d",temp,g_songnum);
temp = g_songnum;
LCD_Fill(1,128+8,LCD_W,LCD_H,WHITE);
}
lcd_show_pic1();
rt_thread_mdelay(500);
}
}
void lcd_show_menu(void)
{
LCD_ShowPicture(0,0,127,128,gImage_music);
LCD_ShowChinese(30,128-10,"正在播放",RED,WHITE,16,0);
LCD_ShowChinese(1,128+8,"快乐父子俩",RED,WHITE,16,0);
}
void lcd_show_pic1(void)
{
switch (g_songnum){
case 1 :LCD_ShowChinese(1,128+8,"快乐父子俩",RED,WHITE,16,0);break;
case 2 :LCD_ShowChinese(1,128+8,"葫芦娃",RED,WHITE,16,0);break;
case 3 :LCD_ShowChinese(1,128+8,"送别",RED,WHITE,16,0);break;
case 4 :LCD_ShowChinese(1,128+8,"两只老虎",RED,WHITE,16,0);break;
default: break;
}
}
key.h
#define KEY_NEXT_PIN 4
key.c
int key_init(void)
{
btn_last.press_logic_level = KEY_PRESS_LEVEL;
btn_last.hold_cyc_period = 100;
btn_last.cb = (my_button_callback)btn_cb;
btn_next = btn_play = btn_last;
btn_last.pin = KEY_PLAY_PIN;
btn_play.pin = KEY_LAST_PIN;
btn_next.pin = KEY_NEXT_PIN;
my_button_register(&btn_last);
my_button_register(&btn_play);
my_button_register(&btn_next);
my_button_start();
return 0;
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LCD屏
    +关注

    关注

    0

    文章

    121

    浏览量

    15367
  • 音乐播放器
    +关注

    关注

    0

    文章

    67

    浏览量

    15748
  • UART接口
    +关注

    关注

    0

    文章

    124

    浏览量

    15247
  • PWM输出
    +关注

    关注

    1

    文章

    66

    浏览量

    5113
  • RTThread
    +关注

    关注

    7

    文章

    132

    浏览量

    40767
收藏 人收藏

    评论

    相关推荐

    如何在RT-Thread Studio完成对RA2L1的环境搭建以及gpio的输入输出检测?

    有幸参加RT-Thread的活动,体验RT-Thread Studio 和 CPK-RA2L1评估。本篇文章主要讲解如何在RT-Thr
    的头像 发表于 09-28 15:51 2515次阅读
    如何在RT-Thread Studio完成对<b class='flag-5'>RA2L1</b><b class='flag-5'>板</b>的环境搭建以及gpio的输入输出检测?

    RA2L1开发实践】-触摸按键控制舵机

    RA2L1评估开发尽量不要只用BIN文件下载,容易锁死芯片。
    的头像 发表于 10-10 15:14 1814次阅读
    【<b class='flag-5'>RA2L1</b>开发实践】-触摸按键控制舵机

    RA2L1系列MCU简介和CAN通信应用例程

    RA2L1产品组基于Arm Cortex-M23 核心(现今 Arm Cortex-M系列中功耗最低的 CPU)。这款产品采用优化的制程和电子的低功耗工艺技术,是业界一流水平的超低功耗微控制器
    的头像 发表于 10-27 15:50 1713次阅读

    RA2系列开发体验】RA2L1试用笔记

    前言  早听说过这个芯片品牌,好像是电赛的赞助商。有机会申请到了RA2L1 的开发试用,因为工作上会用到CAN通信所以专门选了带CAN通信接口的那款开发
    发表于 12-14 15:15

    Renesas RA2L1开发之PWM方波配置相关资料推荐

    1、Renesas RA2L1开发之PWM方波配置  工程的配置  时钟的配置  本次直接基于官方的例程进行开发,使用
    发表于 11-02 15:31

    RA4系列开发体验】+ 3种开发的比较

    键和确认键。如果既使用触摸键又使用机械键难免整体上看上去有些不伦不类。图1RA-Eco-RA4M2-100PIN图2R7FA2L1AB2DFL就这点来讲,无疑 CPK-
    发表于 12-09 22:39

    基于RA2L1开发的初识点灯

      1. 开发  2. 开发介绍  RA2L1
    发表于 04-03 16:55

    电子RA2L1英文数据手册

    本资料包含电子RA2L1英文数据手册
    发表于 10-21 16:21 0次下载

    电子RA2L1硬件用户手册

    本资料包含RA2L1英文硬件用户手册
    发表于 10-21 16:30 6次下载

    RA2L1开发资料

    RA2L1开发资料
    发表于 11-07 19:50 18次下载
    <b class='flag-5'>RA2L1</b>开发<b class='flag-5'>板</b>资料

    如何使用CPK-RA2L1/CPK-RA2E1创建基于FreeRTOS的CapTouch触摸按键demo工程

    CPK-RA2 MCU群组中国本地评估 CPK-RA2L1/CPK-RA2E1是用于
    的头像 发表于 11-22 12:20 1454次阅读

    RA2L1 组电容式触控评估系统快速入门指南

    RA2L1 组电容式触控评估系统快速入门指南
    发表于 02-03 19:24 0次下载
    <b class='flag-5'>RA2L1</b> 组电容式触控<b class='flag-5'>评估</b>系统快速入门指南

    产品 | 超低功耗RA2L1 MCU产品群,具有高级电容式触摸感应功能,打造经济节能的IoT节点HMI应用

    产品 | 超低功耗RA2L1 MCU产品群,具有高级电容式触摸感应功能,打造经济节能的IoT节点HMI应用
    的头像 发表于 12-13 11:12 1253次阅读
    产品 | <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>超低功耗<b class='flag-5'>RA2L1</b> MCU产品群,具有高级电容式触摸感应功能,打造经济节能的IoT节点HMI应用

    RA2L1 组电容式触控评估系统快速入门指南

    RA2L1 组电容式触控评估系统快速入门指南
    发表于 07-04 19:56 2次下载
    <b class='flag-5'>RA2L1</b> 组电容式触控<b class='flag-5'>评估</b>系统快速入门指南

    RA2L1系列CAN通信应用

    RA2L1系列CAN通信应用
    的头像 发表于 06-26 08:06 504次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA2L1</b>系列CAN通信应用