实例介绍
【实例简介】
支持IIS输出,支持OLED显示屏
【实例截图】
/********************************************************************************/
//------------------------------蓝牙类配置
/********************************************************************************/
#include "bluetooth/bluetooth_api.h"
///可选配置:0(普通音箱)/BT_TWS_TRANSMIT(对箱使能)
///如果仅作为单机使用,建议不开对箱宏,如果开了对箱宏而且做单机使用会占用基带,单机使用性能没不开对箱宏好
#define BT_TWS 0// BT_TWS_TRANSMIT////0//BT_TWS_TRANSMIT
#if BT_TWS
#undef EQ_RUN_SEL
#define EQ_RUN_SEL EQ_RUN_NULL/*这个宏不修改,其它更多音效设置请在audio_stream.h头文件配置*/
#endif
///蓝牙连接个数选择 1 /2 一拖二
#if BT_TWS
#define BT_CONNTCT_NUM 2
#define BT_TWS_LINEIN 0 //linein 转换成对箱播放
#else
#define BT_CONNTCT_NUM 1
#define BT_TWS_LINEIN 0
#endif
//蓝牙是否开启后台模式
#if (BT_CONNTCT_NUM == 2)
#define BT_BACKGROUND_EN 0
#else
#define BT_BACKGROUND_EN 0
#endif
#if (BT_BACKGROUND_EN== 0)
///<HID拍照的独立模式只支持非后台
#define BT_HID_INDEPENDENT_MODE 0
#endif
//可选配置:NORMAL_MODE/TEST_BQB_MODE/TEST_FCC_MODE/TEST_FRE_OFF_MODE/TEST_BOX_MODE/TEST_PERFOR_MODE
#define BT_MODE NORMAL_MODE// NORMAL_MODE // TEST_PERFOR_MODE
//模拟配置
#define BT_ANALOG_CFG 0
#define BT_XOSC 0
//蓝牙晶振频偏设置 0x0~0xf//如果频偏为正,把值改大
#define BT_OSC_INTERNAL_L 0x09
#define BT_OSC_INTERNAL_R 0x09
//------------------------------蓝牙低功耗设置
//使能该功能后只能是纯蓝牙功能,没有显示功能
//可选配置:SNIFF_EN/SNIFF_TOW_CONN_ENTER_POWERDOWN_EN
#define SNIFF_MODE_CONF 0// SNIFF_EN
//可选配置:BT_POWER_DOWN_EN/BT_POWER_OFF_EN
#define BT_LOW_POWER_MODE 0// BT_POWER_DOWN_EN
//可选配置:BT_OSC/RTC_OSCH/RTC_OSCL/LRC_32K
#define LOWPOWER_OSC_TYPE BT_OSC // LRC_32K
//可选配置:32768L//24000000L//32000L
#define LOWPOWER_OSC_HZ 24000000L// 32000L
//可选配置:BT_BREDR_EN/BT_BLE_EN/(BT_BREDR_EN|BT_BLE_EN)
#if BT_TWS
#undef SNIFF_MODE_CONF
#define SNIFF_MODE_CONF 0
#undef BT_LOW_POWER_MODE
#define BT_LOW_POWER_MODE 0
#define BLE_BREDR_MODE (BT_BREDR_EN)//资源充足的情况,tws 可以开启ble
#else
#define BLE_BREDR_MODE (BT_BREDR_EN)//|BT_BLE_EN)//资源问题,开了ble,不能开启一拖二
#endif
#if (BLE_BREDR_MODE&BT_BLE_EN)
//可选配置:O--server ,1--client
#define BLE_GAP_ROLE 0
#endif
#define BT_PHONE_NUMBER 0
#define BT_PHONE_VOL_SYNC 0
//需要电量显示但是不需要通话功能
#define BT_HFP_EN_SCO_DIS 0
//播放手机自带来电提示音(前提是手机支持该功能)
#define BT_INBAND_RINGTONE 0
//对箱角色切换,连接手机的设备即为主机
#define BT_TWS_ROLE_SWITCH 1
///对耳主从同时按下配对按键才进行配对
#define BT_TWS_SCAN_ENBLE 0
///主从连接上,同步播连接成功提示音、sync_led_scan
#define BT_TWS_SYNC_CON_STATE_ENBLE 0
/********************************************************************************/
【核心代码】
/********************************************************************************/
//------------------------------UI MACRO
/********************************************************************************/
///<LED指示使能
#define LED_EN 0
#define UI_ENABLE 1
#if (BT_LOW_POWER_MODE || SNIFF_MODE_CONF) //进低功耗模式 not support ui
#undef UI_ENABLE
#define UI_ENABLE 1
#endif
///dependency
#if (UI_ENABLE == 1)
#define UI_SEL_BY_RES_EN 0 ///是否通过选屏电阻进行选屏
#define LED_7_EN 0 ///<led 支持
#define LED_1888_EN 0 ///6脚数码管,点烟器一般用这个
#define LCD_128X64_EN 1 ///点阵屏LCD
#else
///都不支持
#define LED_7_EN 0
#define LED_1888_EN 0
#define LCD_128X64_EN 1
#endif
#if (LCD_128X64_EN == 1)
#define LRC_LYRICS_EN 0 ///LRC歌词显示
#else
#define LRC_LYRICS_EN 0
#endif
/********************************************************************************/
//------------------------------系统时钟等配置
/********************************************************************************/
//时钟配置 //more config in clock_interface.h
#define OSC_Hz 24000000L //fpga:12M / chip:24M
///<SYS_CLK //不同工作状态的系统时钟选则
#define BT_CALL_Hz 160000000L //phone call clock
#define BT_REC_Hz 192000000L //bt rec clock
#if (EQ_RUN_SEL == EQ_RUN_SW || SPEED_PITCH_EN || ECHO_EN ) //Software EQ need Run 192M
#define MUSIC_DECODE_Hz 192000000L
#define SYS_Hz 192000000L //120000000L//96000000L
#else
#define MUSIC_DECODE_Hz 180000000L
#if BT_TWS
#define SYS_Hz 192000000L
#else
#define SYS_Hz 192000000L
#endif
#endif
//#define IIS_SLAVE_MODE ////IIS从机模式
#define IIS_MASTER_MODE ////IIS主机模式
//#define SPDIF_SLAVE_MODE ////SPDIF从机模式
/********************************************************************************/
//------------------------------有冲突的宏处理
/********************************************************************************/
//USB口用于调试时, 关闭USB_DISK/PC功能.
#if ( (defined(__DEBUG) && (DEBUG_UART_SEL == UART1_USB_TXDP_RXDM)) || \
( EQ_UART_DEBUG && (EQ_DEBUG_UART_SEL == UART1_USB_TXDP_RXDM) ))
#undef USB_DISK_EN
#undef USB_PC_EN
#define USB_DISK_EN 1
#define USB_PC_EN 1
#endif
//调试用的串口 和 EQ在线调试串口冲突
#if ( (defined(__DEBUG) && (DEBUG_UART_SEL == UART1_USB_TXDP_RXDM)) && \
( EQ_UART_DEBUG && (EQ_DEBUG_UART_SEL == UART1_USB_TXDP_RXDM) ))
#error "DEBUG_UART_SEL same with EQ_DEBUG_UART_SEL"
#endif
//没有内部收音也没有外部收音时不定义收音模式
#if ( (RDA5807 == 0 ) && (BK1080 == 0 ) && (QN8035 == 0) && (FM_INSIDE==0) )
#undef FM_RADIO_EN
#define FM_RADIO_EN 0
#endif
//没有FM发射芯片的时候不开点烟器的宏
#if ( (QN8007 == 0 ) && (QN8027 == 0 ) )
#undef FMTX_EN
#define FMTX_EN 0
#endif
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论