在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【RTT大賽作品連載】AB32VG1評估板 炫酷音樂播放器

磐石90 ? 來源:磐石90 ? 作者:磐石90 ? 2021-11-26 08:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前,記錄了從新建項目到點燈,按鈕控制彩燈測試,再到如何AB32VG1評估板實現音樂播放器!今天通過對前邊的經驗提煉!實現炫酷音樂播放器!!!

硬件如圖:

image.png

因用到彩燈需短接J8,J10,J12,TF卡需短接P2的對應pin!

應用RT-Thread Studio IDE,可快速實現對組件包的配置!

image.png

軟件實現

led 彩燈的線程如下:

static void led_thread_entry(void* p)
{
uint32_t cnt = 0;
uint8_t pin = rt_pin_get("PE.1");
rt_pin_mode(pin, PIN_MODE_OUTPUT);
uint8_t pin1 = rt_pin_get("PE.4");
rt_pin_mode(pin1, PIN_MODE_OUTPUT);
uint8_t pin2 = rt_pin_get("PA.1");
rt_pin_mode(pin2, PIN_MODE_OUTPUT);

while (1)
{ rt_err_t result = rt_mutex_take(mutex1, 6);
if (result == RT_EOK) {
state = wavplayer_state_get();
rt_mutex_release(mutex1);
if (state== PLAYER_STATE_PLAYING) {
if (cnt % 8 == 0)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_HIGH);
}
if (cnt % 8 == 1)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_HIGH);
}
if (cnt % 8 == 2)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 3)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_HIGH);
}
if (cnt % 8 == 4)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 5)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 6)
{
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_LOW);
rt_pin_write(pin2, PIN_LOW);
}
if (cnt % 8 == 7)
{
rt_pin_write(pin, PIN_HIGH);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_HIGH);
}
cnt++;
}else if (state== PLAYER_STATE_PAUSED) {
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_HIGH);
rt_thread_mdelay(400);
rt_pin_write(pin, PIN_LOW);
rt_pin_write(pin1, PIN_HIGH);
rt_pin_write(pin2, PIN_LOW);
rt_thread_mdelay(200);
}
else {
rt_pin_write(pin, PIN_LOW);
rt_thread_mdelay(500);
rt_pin_write(pin, PIN_HIGH);
rt_thread_mdelay(500);
}
rt_thread_mdelay(200);
}

}

}
音樂播放控制用到了兩個線程。一個通過按鈕事件線程控制音樂播放!一個通過音樂播放狀態來檢測是否切換歌曲,避免播放一首之后,因無按鈕操作而停止!

按鈕事件線程:

static void btn_thread_entry(void* p)
{
while (1)
{
rt_thread_delay(RT_TICK_PER_SECOND / 500);
rt_err_t result = rt_mutex_take(mutex1, 6);
if (result == RT_EOK) {
button_ticks();
rt_mutex_release(mutex1);
}
}
}

音樂播放狀態來檢測線程:

static void endCheck_thread_entry(void* p)
{
while (1)
{
rt_thread_mdelay(2500);
rt_err_t result = rt_mutex_take(mutex1, 2);
if (result == RT_EOK) {
state = wavplayer_state_get();
rt_mutex_release(mutex1);
if (state == PLAYER_STATE_STOPED) {
EndState = 0;
rt_thread_mdelay(1000);
result = rt_mutex_take(mutex1, 2);
if (result == RT_EOK) {
state = wavplayer_state_get();
if ((state == PLAYER_STATE_STOPED)&& (EndState == 0)) {
EndState = 1;
if (currentSong == NUM_OF_SONGS) {
currentSong = 0;
}
GetCurrentPath();
wavplayer_play(table);
currentSong++;
}
rt_mutex_release(mutex1);}
}

}
}
}
通過以上主要的線程,在加上前面的【RTT大賽作品連載】AB32VG1評估板到貨控制彩燈測試-電子發燒友網 (elecfans.com)的部分代碼即可實現炫酷音樂播放器!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RTOS
    +關注

    關注

    24

    文章

    845

    瀏覽量

    120966
  • 開發板
    +關注

    關注

    25

    文章

    5625

    瀏覽量

    103687
  • 代碼
    +關注

    關注

    30

    文章

    4894

    瀏覽量

    70480
  • RT-Thread
    +關注

    關注

    32

    文章

    1388

    瀏覽量

    41710
  • 中科藍訊
    +關注

    關注

    9

    文章

    61

    瀏覽量

    10198
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RTT大賽作品連載AB32VG1開箱、搭建環境、演示、點燈

    AB32VG1】開箱、搭建環境、演示、點燈,為下面做好準備。
    的頭像 發表于 10-25 16:47 ?5441次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>AB32VG1</b>開箱、搭建環境、演示、點燈

    RTT大賽作品連載AB32VG1上手

    AB32VG1上手操作,修改例程運行中的問題,成功點亮RGB。
    的頭像 發表于 10-28 18:31 ?8029次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】 <b class='flag-5'>AB32VG1</b>上手

    RTT大賽作品連載AB32VG1評估到貨點燈測試

    AB32VG1評估到貨點燈測試.
    的頭像 發表于 11-04 08:55 ?8057次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>AB32VG1</b><b class='flag-5'>評估</b><b class='flag-5'>板</b>到貨點燈測試

    RTT大賽作品AB32VG1開發OLED顯示實驗

    最近在玩AB32VG1,在做OLED顯示實驗時,很多關于AB32VG1驅動OLED的文章,很多都是官方例程操作,在msh窗口中輸入測試指令,測試驅動是否正常。很少有關于在main函數中直接實現的,本編文章直接在MAIN函數實現OLED顯示,上電自動執行。
    的頭像 發表于 11-05 16:03 ?6686次閱讀
    <b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b>:<b class='flag-5'>AB32VG1</b>開發<b class='flag-5'>板</b>OLED顯示實驗

    RTT大賽作品AB32VG1開發—按鍵掃描

    ab32vg1開發按鍵實驗
    的頭像 發表于 11-15 09:54 ?4552次閱讀
    <b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b>:<b class='flag-5'>AB32VG1</b>開發<b class='flag-5'>板</b>—按鍵掃描

    RTT大賽作品連載AB32VG1評估到貨控制彩燈測試

    RTT大賽作品連載AB32VG1評估到貨控制彩
    的頭像 發表于 11-07 19:39 ?5482次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>AB32VG1</b><b class='flag-5'>評估</b><b class='flag-5'>板</b>到貨控制彩燈測試

    RTT大賽作品連載AB32VG1評估 音樂播放器

    RTT大賽作品連載AB32VG1評估
    的頭像 發表于 11-12 21:11 ?6601次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>AB32VG1</b><b class='flag-5'>評估</b><b class='flag-5'>板</b> <b class='flag-5'>音樂</b><b class='flag-5'>播放器</b>

    RTT大賽作品連載】中科藍訊AB32VG1開發開箱篇

    介紹電路原理圖分析接口說明,AB32VG1開發是以中科藍訊(Bluetrum)公司推出的基于RISC-V架構的高配置芯片AB5301A為核心所組成的。【RTT
    的頭像 發表于 11-13 10:01 ?1.2w次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】中科藍訊<b class='flag-5'>AB32VG1</b>開發<b class='flag-5'>板</b>開箱篇

    RTT大賽作品連載AB32VG1的開發環境搭建

    基于RT-Thread的AB32VG1開發環境搭建.
    的頭像 發表于 11-17 08:48 ?9801次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>AB32VG1</b>的開發環境搭建

    RTT大賽作品連載AB32VG1開發之開箱篇

    中科藍訊AB32VG1開發的開箱之作,此開發的硬件資源初略的介紹。
    的頭像 發表于 01-04 09:19 ?4860次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>AB32VG1</b>開發<b class='flag-5'>板</b>之開箱篇

    【RT-Thread設計大賽】基于AB32VG1的嵌入式網盤

    【RT-Thread設計大賽】基于AB32VG1的嵌入式移動網盤
    的頭像 發表于 07-30 12:12 ?2576次閱讀
    【RT-Thread設計<b class='flag-5'>大賽</b>】基于<b class='flag-5'>AB32VG1</b>的嵌入式網盤

    【文章連載】RT-Thread創新應用大賽文章匯總

    作品連載AB32VG1評估到貨點燈測試專欄作者:辛書偉 【RT-Thread創新應用設計大賽
    發表于 10-11 15:13

    RTT大賽作品連載】中科藍訊AB32VG1開發開箱篇

    收到開發先上靚照中科藍訊AB32VG1開發開箱AB32VG1開發一塊TypeCo數據線一條開發
    發表于 11-24 08:00

    RTT大賽作品連載】基于AB32VG1 sdk BLE例程

    RT-Thread基本中科藍訊AB32VG1 BLE開發快捷方便.
    的頭像 發表于 12-06 09:07 ?5493次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】基于<b class='flag-5'>AB32VG1</b> sdk BLE例程

    RTT大賽作品連載】linkboy面向AB32V移植(1

    初步移植linkboy到AB32VG1開發并測試GPIO輸出
    發表于 12-18 20:00 ?1636次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】linkboy面向<b class='flag-5'>AB</b>32V移植(<b class='flag-5'>1</b>)
    主站蜘蛛池模板: 亚洲精品国产自在久久出水 | 77788色淫视频免费观看 | 天天做天天添天天谢 | 黄色视屏免费看 | 日韩在线视频一区 | 日本拍拍 | 国产福利在线观看你懂的 | 性欧美成人依依影院 | 狠狠色噜噜狠狠狠狠 | 亚洲婷婷在线视频 | 亚洲欧美日韩国产一区二区三区精品 | 色婷婷777 | 欧洲亚洲国产精华液 | 看毛片网站| 性a爱片免费视频性 | 久久www免费人成高清 | 日韩亚洲欧美日本精品va | 日韩毛片在线影视 | 午夜噜噜噜 | 午夜三级网 | 手机在线观看你懂的 | www.天天操| 日韩一区二区三区在线 | 一级黄色大全 | 黄色爱爱视频 | 亚洲一区二区精品推荐 | 日韩美aaa特级毛片 日韩美a一级毛片 | 色涩网站在线观看 | 免费性视频 | 国产三级在线看 | 国产亚洲新品一区二区 | 一级一级特黄女人精品毛片 | 看日本黄色大片 | 四虎影在永久地址在线观看 | 韩国三级视频在线观看 | freesex性欧美重口 | 精品国产免费久久久久久婷婷 | 爱爱小视频免费 | 精品国产三级在线观看 | 人人澡人人澡碰人人看软件 | 午夜三级国产精品理论三级 |