
【前言】 首先要感谢ST中文论坛,在春节的活动中,给了我一次试用STM32F769I-DISC的开发板的机会。经过两个多月的学习,现在作品终于可划上了句号了。现分享如下。 试用期间,我发表了好几篇的帖子: 1、【STM32F769I-DISC1】LWIP手工移植 - ST中文论坛活动 ST意法半导体中文论坛 2、【STM32F769I-DISC1】对接deepseek本地模型 - ST中文论坛活动 ST意法半导体中文论坛 3、【STM32F769I-DISC1】驱动ST7789LCD - ST中文论坛活动 ST意法半导体中文论坛 4、【STM32F769I-DISC1】硬件SPI驱动ST7789LCD - ST中文论坛活动 ST意法半导体中文论坛 5、【STM32F769I-DISC1】移植LVGL - ST中文论坛活动 ST意法半导体中文论坛 6、【STM32F769】SDRAM移植之MPU保护 - ST中文论坛活动 ST意法半导体中文论坛 7、基于STM32F769I-DISC的可调数字电源 - ST中文论坛活动 ST意法半导体中文论坛 8、STM32F769 中启用指令缓存后LVGL显示花屏的问题查找以及解决方法 - ST中文论坛活动 ST意法半导体中文论坛 9、【STM32F769】实现SD卡的FATFS - ST中文论坛活动 ST意法半导体中文论坛 10、【STM32F769I-DISC1】移植基于FreeRTOS的FATFS - ST中文论坛活动 ST意法半导体中文论坛 11、【STM32F769I-DISC1】移植基于FreeRTOS的FATFS - ST中文论坛活动 ST意法半导体中文论坛 通过上面的一步一步的学习,在这个些帖子的基础上,我设计了界面,同时实现的音乐的播放、切歌等功能。 下面分享一下,如何进行界面设计以及切歌。 【界面设计】 我使用GUI-Guider开源的界面设计: 【歌单的设计】 在歌单设计中,我使用了双向链表来对歌曲文件名进行了存取,这样就方便向前向后一曲来播放。他的链表如下:
这样我开点击播放时,把所有的.wav的文件都读取到这个链表中,在lvgl的三个按键就可以实现对文件的定位了。 【切歌的实现】 在lvgl的custom.c自定义函数,我注册了三个按键回调函数,以向前一首为例,这现代码如下:
按键按下后,执行了creatFilePrcessingTask,在这个函数中,对播放任务进行了重新的创建,因而结合了前面的播放音乐的逻辑进行播放,这就这现了整个项目的完整性。 |
【STM32F769】实现SD卡的FATFS
【STM32F769I-DISC1】实现音乐播放
【STM32F769】读取音乐列表
【STM32F769I-DISC1】移植基于FreeRTOS的FATFS
【STM32F769I-DISC1】测评03:使用板载的串口6制作生物体监测
【STM32F769I-DISC1】测评02:调试串口1与PC通讯功能
STM32F769 中启用指令缓存后LVGL显示花屏的问题查找以及解决方法
基于STM32F769I-DISC的可调数字电源
【STM32F769I-DISC1】刷入micropython并完成点灯、读取内部温度测试
【STM32F769】SDRAM移植之MPU保护
附audio.play.c的源码: