音乐播放器-jink viewer 版本
1 知识前提
1.1 导入音乐播放器
这个音乐播放器的采用开源的案例,具体步骤参考这篇文章:rt-thread 的软件报包-RTT-BeepPlayer-pkg
1.2 jink-viewer 组件搭建
- 嵌入式系统应用-拓展-JLINK的高速传输应用之RTT VIEWER 1
- 嵌入式系统应用-拓展-JLINK的高速传输应用之RTT VIEWER 2
- 嵌入式系统应用-拓展-RTT VIEWER 和 rt-thread的shell组件应用
第一篇文章介绍: jink-viewer 使用环境搭建;
第二篇文章介绍: jlink-viewer 的常见的函数;
第三篇文章介绍:jlink-viewer 和 rt-shell 组件结合。
1.3 队列使用
参考这篇文章
1. 队列使用
队列可以采用静态或者动态创建,一定注意发送的字节长度和接收字节最大长度;
2 设计步骤
2.1 创建队列,来传输数据
创建一个队列,缓存是32个字节,最大传输8个字节。
rt_mq_t player_mq; // 创建队列的句柄号
player_mq=rt_mq_create("music_mq",32,8,RT_IPC_FLAG_FIFO);
2.2 创建线程,捕获队列,执行控制音乐。
-
控制音乐播放、暂停、下一首、上一首和音量;
-
rt_mq_recv(player_mq,vol,8,RT_WAITING_FOREVER); // 等待获取队列的,最大获取8个字节
static void thread_entry(void *parameter)
{
while (1)
{
// 等待邮箱释放- 就是等待按键
int vol[2]={
0,0};
rt_mq_recv(player_mq,vol,8,RT_WAITING_FOREVER);
if(vol[0]==1) // 播放或者暂停
{
int flag;
player_control(&player,PLAYER_CMD_GET_STATUS,