资源简介
NRF24L01的视频传输,用STM32做的,效果试着还挺不错,开源原理图,和程序,程序备注详细,里面实现用纯C语言,效果nice
代码片段和文件信息
#include “mp3player.h“
u16 f_kbps=0;//歌曲文件位率
//显示播放时间比特率 等事信息
void MP3_Msg_Show(u32 lenthu16 indexu16 total)
{
static u16 playtime=0;//播放时间标记
u16 time=0;// 时间变量
u16 temp=0;
// if(f_kbps==0xffff)//未更新过
// {
// playtime=0;
// f_kbps=VS_Get_HeadInfo(); //获得比特率
// }
time=VS_Get_DecodeTime(); //得到解码时间
// if(playtime==0)playtime=time;
if((time!=playtime)&&(time!=0))//1s时间到更新显示数据
{
playtime=time;//更新时间
temp=VS_Get_HeadInfo(); //获得比特率
if(temp!=f_kbps)
{
f_kbps=temp;//更新KBPS
}
//显示播放时间
TFT_Show2Num(60110REDtime/602160); //分钟
TFT_ShowChar(60+16110RED‘:‘160);
TFT_Show2Num(60+24110REDtime%602160);//秒钟
TFT_ShowChar(60+40110RED‘/‘160);
//显示总时间
if(f_kbps)time=(lenth/f_kbps)/125;//得到秒钟数 (文件长度(字节)/(1000/8)/比特率=持续秒钟数
else time=0;//非法位率
TFT_Show2Num(60+48110REDtime/602160);//分钟
TFT_ShowChar(60+64110RED‘:‘160);
TFT_Show2Num(60+72110REDtime%602160);//秒钟
//显示当前曲目的索引及总曲目数
TFT_Show2Num(60+0130REDindex3160); //索引
TFT_ShowChar(60+24130RED‘/‘160);
TFT_Show2Num(60+32130REDtotal3160); //总曲目
//显示位率
TFT_ShowNum(60+60130REDf_kbps316);//显示位率
TFT_ShowString(60+84130RED“Kbps“);
}
}
//功能:通过按键选择播放,指定路径上的文件
//输入:*path:路径
//输出:1:硬件复位失败, 2:获取音频文件失败
u32 MUSIC_FILE_TYPE = T_UNTELL; //存储文件类型默认不能识别的文件类型
u8 Play_Music(char *path)
{
u16 i;
u8 key;
u16 mus_total=0;//总音乐文件的个数
if(VS_HD_Reset())return 1; //硬复位
VS_Soft_Reset(); //软复位VS10XX
set10XX(); //设置音量等信息
if(VS10XX_ID==VS1053) //在软件复位时得到ID
{
MUSIC_FILE_TYPE = T_MP3|T_WMA|T_WAV|T_MID|T_FLAC|T_OGG;
}
else MUSIC_FILE_TYPE = T_MP3|T_WMA|T_WAV|T_MID;
Get_File_Info(pathMUSIC_FILE_TYPE&mus_total);//获取当前文件夹下面的目标文件个数
if(!mus_total) return 2; //无音频文件则返回
i=1;
while(1)
{
key=Play_Song(pathimus_total);
if(key==1)
{
if(i else i=1;
}else if(key==2)
{
if(i>1)i--;
else i=mus_total;
}else
{
;
}
}
}
////////////////////////////////////////////////////////
//播放音乐
//index:播放的歌曲编号
//返回值:0成功;1,下一曲;2,上一曲;0xff 得到文件信息失败;0xfe,硬复位失败;
u8 MUSIC_BUFFER[512];
extern u8 SPI_FLASH_BUF[4096];
u8 *music_path = (u8*)SPI_FLASH_BUF;
u8 Play_Song(char *pathu16 indexu16 total)
{
u8 key;
u16 icount=0;
u8 pause=0n;//不暂停
FRESULT res;
FILINFO fno;
DIR dir;
FIL music_file;
UINT br;
#if _USE_LFN
static char lfn[_MAX_LFN+1];
fno.lfname = lfn;
fno.lfsize = sizeof(lfn);
#endif
res = f_opendir(&dirpath);
if(!res)
{
for(;;)
{
res = f_readdir(&dir&fno); //顺序读取目录项
if(res||fno.fname[0]==0) break;
if(fno.fname[0]==‘.‘) continue; //跳过自身目录项和父目录项
if(fno.fattrib&AM_DIR) continue; //跳过文件夹
else
{
if(FileType_Tell(fno.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-11 20:31 NRF24L01视频传输\
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\APPLICATION\
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\APPLICATION\MP3\
文件 5090 2012-11-23 20:27 NRF24L01视频传输\发送\APPLICATION\MP3\mp3pla
文件 362 2012-11-09 14:23 NRF24L01视频传输\发送\APPLICATION\MP3\mp3pla
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\FATFS\
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\FATFS\doc\
文件 2815 2012-07-25 00:19 NRF24L01视频传输\发送\FATFS\doc\css_e.css
文件 3177 2012-07-25 00:19 NRF24L01视频传输\发送\FATFS\doc\css_j.css
目录 0 2018-12-22 18:20 NRF24L01视频传输\发送\FATFS\doc\en\
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\FATFS\doc\img\
文件 1414 2011-09-02 22:10 NRF24L01视频传输\发送\FATFS\doc\img\f1.png
文件 1458 2007-02-10 03:12 NRF24L01视频传输\发送\FATFS\doc\img\f2.png
文件 1039 2007-02-10 03:12 NRF24L01视频传输\发送\FATFS\doc\img\f3.png
文件 2335 2008-01-05 20:27 NRF24L01视频传输\发送\FATFS\doc\img\f4.png
文件 2479 2008-01-05 20:27 NRF24L01视频传输\发送\FATFS\doc\img\f5.png
文件 1436 2010-08-21 10:13 NRF24L01视频传输\发送\FATFS\doc\img\f6.png
文件 2401 2009-03-20 21:57 NRF24L01视频传输\发送\FATFS\doc\img\la
文件 2379 2009-06-13 21:48 NRF24L01视频传输\发送\FATFS\doc\img\la
文件 5209 2012-07-27 01:26 NRF24L01视频传输\发送\FATFS\doc\img\modules.png
文件 19068 2008-10-18 19:31 NRF24L01视频传输\发送\FATFS\doc\img\rwtest.png
文件 8153 2010-09-13 10:55 NRF24L01视频传输\发送\FATFS\doc\img\rwtest2.png
文件 3011 2009-06-15 00:03 NRF24L01视频传输\发送\FATFS\doc\img\rwtest3.png
目录 0 2018-12-22 18:20 NRF24L01视频传输\发送\FATFS\doc\ja\
文件 4185 2012-08-27 21:56 NRF24L01视频传输\发送\FATFS\doc\updates.txt
目录 0 2018-06-11 20:31 NRF24L01视频传输\发送\FATFS\src\
文件 6821 2012-09-04 22:50 NRF24L01视频传输\发送\FATFS\src\00readme.txt
文件 724229 2013-03-17 18:45 NRF24L01视频传输\发送\FATFS\src\cc936.c
文件 6946 2012-10-09 19:47 NRF24L01视频传输\发送\FATFS\src\diskio.c
文件 2763 2012-08-27 21:39 NRF24L01视频传输\发送\FATFS\src\diskio.h
............此处省略770个文件信息
- 上一篇:C语言程序设计第四版 谭浩强
- 下一篇:MFC编写的圆拟合工具
相关资源
- 嵌入式实时操作系统μC/OS-III(英文
- ALIENTEK 战舰STM32开发板最新例程
- 基于STM32的LED显示控制板卡驱动及GU
- stm32 上下位机通信
- STemWin无操作系统移植-(STM32)
- 零死角玩转STM32—F103MINI(图文高清版
- STM32工程模板
- stm32实现MODBUS-MODBUS做主站
- STM32 DMX512协议与485 W5500 户外钢琴地灯
- STM32F10x中文参考手册
- uip 通信(stm32) 源代码
- STM32 采集 HLW8032 DMA 串口1+串口3
- STM32F103系列IO操作-LED流水灯
- STM32 modbus协议 从机程序
- ADS1118_SPI模式_STM32
- STM32上驱动基于IIC协议的OLED 128664 0.
- stm32f0308_freertos通用模板
- 靶机控制:STM32遥控器531
- 蓝牙app控制STM32单片机的LED灯
- STM32F407_SD卡测试
- STM32F103系列CRC操作
- STM32F103系列读芯片ID
- STM32F103系列按键(查询方式)
- stm32制作的示波器
- stm32开发书籍合集
- USB HID STM32 开发资料全集
- STM32与触摸芯片BS83B12A-3通过IIC通信读
- stm32飞控c语言程序
- stm32f107vc_UCOSIII_3.03
- stm32f107vc_UCOSIII_3.03_CPP
评论
共有 条评论