在实际项目中,经烧录软件,发现耳机不能响应任何声音

经客户描述,为了省电处理,客户要求在PE7处,拉高电平(量的电压3.3V)时,喇叭才能激活,有声音。

在播放音乐时能有声音,在有提示音时需要拉高电平,在通话去电,来电时,需要拉高电平。

如何定义PE7

在config.h中,新增如下代码

//USER  DEFINE
#define APM_PE7_INIT()    GPIOEDE |= BIT(7); GPIOEPU  |= BIT(7); GPIOEDIR &= ~BIT(7) // PA7 init ,
#define APM_PE7_SET_H()   GPIOESET = BIT(7)  //设置高电平
#define APM_PE7_SET_L()   GPIOECLR = BIT(7)   //设置低电平
#define APM_PE7_STA()            (GPIOE & BIT(7)) //当前电平的值

拓展:

IO口有各个段, 当使用PA7 PB7 PE7等等,我们可以根据相应的地方来修改,将对应的IO口和A 、B、E段改成相应的。

#APM_PA5_INIT()     GPIOADE |= BIT(5); GPIOAPU  |= BIT(5); GPIOADIR &= ~BIT(5) // PA5init ,

设置好IO口后,我们需要调用,在相应的位置进行初始化

在Func.c函数中,进行初始化

AT(.text.func)
void func_run(void)
{//func_cb.sta = FUNC_SPEAKER; //FUNC_EXSPIFLASH_MUSIC;printf("%s\n", __func__);APM_PE7_INIT();  // PE7 初始化//此处省略下面代码}

首先,我们需要在响应提示音的时候,PE7拉高电平

修改 提示音响应函数中,修改。

mp3_res_play()函数中,首行拉高 APM_PE7_SET_H()

,这样的话,在每次响应提示音之前,都拉高PE7。

注意:在修改如上方法后,发现没有POWER ON 开机提示音未响应。 经分析,初始化在此处晚了,没有读取到,需要在开机时重新进行PE7初始化,并拉高PE7

#if WARNING_POWER_ONAPM_PE7_INIT();//PE7 初始化APM_PE7_SET_H();//PE7设置高电平mp3_res_play(RES_BUF_POWERON_MP3, RES_LEN_POWERON_MP3);
#endif // WARNING_POWER_ON

,此时提示音都已经有了,但是在播放音乐和通话时,并没有声音。

根据蓝牙状态的宏定义发现,大于已连接状态的话,都必须要拉高电平

BT_STA_CONNECTED, //已连接

BT_STA_PLAYING, //播放

BT_STA_INCOMING, //来电响铃

BT_STA_OUTGOING, //正在呼出

BT_STA_INCALL, //通话中

,并定义一个计数标志,sys_cb.PE7_io_turn_cnt,方便设置电平,以及打印,此处只能播放音乐时的消息

case MSG_SYS_1S:bt_send_msg(BT_MSG_HFP_REPORT_BAT);if(bt_get_status() > BT_STA_CONNECTED){if(sys_cb.PE7_io_turn_cnt >= 10 ){sys_cb.PE7_io_turn_cnt = 10;}APM_PE7_SET_H();printf("PE7 === %d \n",APM_PE7_STA());}else{sys_cb.PE7_io_turn_cnt ++;if(sys_cb.PE7_io_turn_cnt)printf("---------------%d-------------------------",sys_cb.PE7_io_turn_cnt);APM_PE7_SET_L();printf("PE7 === %d \n",APM_PE7_STA());}break;

当通话时,则不会执行func_bt_message()中 的 MSG_SYS_1S,

所以我们需要在通话消息管理函数中sfunc_bt_call_message() 也定义一个MSG_SYS_1S

case MSG_SYS_1S:bt_send_msg(BT_MSG_HFP_REPORT_BAT);call_status = bt_get_call_indicate();//获取当前通话状态if(call_status >= BT_CALL_INCOMING)//如果大于等于来电状态{if(sys_cb.PE7_io_turn_cnt >= 10 ){sys_cb.PE7_io_turn_cnt = 10;}APM_PE7_SET_H();printf("PE7 === %d \n",APM_PE7_STA());}else{sys_cb.PE7_io_turn_cnt ++;if(sys_cb.PE7_io_turn_cnt)printf("---------------%d-------------------------",sys_cb.PE7_io_turn_cnt);APM_PE7_SET_L();printf("PE7 === %d \n",APM_PE7_STA());}break;

关于高电平与低电平的使用相关推荐

  1. stm32中空的I/O管脚是高电平还是低电平

    STM32中空的I/O管脚是高电平还是低电平取决于具体情况. 1.IO端口复位后处于浮空状态,也就是其电平状态由外围电路决定. 2.STM32上电复位瞬间I/O口的电平状态默认是浮空输入,因此是高阻. ...

  2. 西门子博途_S7-1200通过脉冲方式控制步进电机时,限位开关的高电平、低电平如何选择?

    西门子博途_S7-1200通过脉冲方式控制步进电机时,限位开关的高电平.低电平如何选择? 位置限制中的限位开关: 高电平:即该开关没感应到时一直为OFF(0),感应到时为ON(1) 低电平:即该开关没 ...

  3. 判断STM32 GPIO输入口的输入状态(高电平或低电平)

    判断STM32 GPIO输入口的输入状态(高电平或低电平) 以PE2和PE4为例: ① 判断单个端口是否为高电平: if(GPIOE->IDR& GPIO_IDR_IDR2) { 函数体 ...

  4. ttl接地是高电平还是低电平_(音源很重要)18新汉兰达音响改装升级原车主机改低电平RCA输出...

    18款新汉兰达,原车主机高电平输出(失真最高达10%以上)直推喇叭,前四后二!高转低的效果有目共睹,现在已经是极少车友选择使用!高电平进DSP是目前比较多车友选择的,可能是无奈之举,其实它还是充当高转 ...

  5. ttl接地是高电平还是低电平_功放技术参数1——高电平

    在汽车音响中的功放或者DSP再或者是DSP功放中我们都会遇到高电平信号或者低电平信号输入,我们该如何判断主机输出的到底是高电平信号还是低电平信号呢? 我们可以用一个很简单的方法来鉴定,那就是主机输出能 ...

  6. 高,低电平复位电路原理及加电容的作用

    什么是复位 为什么要加复位? 高电平上电复位 低电平上电复位 高电平按键复位 低电平按键复位 什么是复位 单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状 ...

  7. 计算机1为什么代表高电平,高电平为什么表示1,低电平为什么表示0?

    高电平为什么表示1,低电平为什么表示0?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 高电平为什么表示1,低电平为什么 ...

  8. 高电平低电平是什么意思

    原文地址::http://blog.sina.com.cn/s/blog_5f39a4380100dh64.html 高电平低电平是什么意思 要了解逻辑电平的内容,首先要知道以下几个概念的含义: 1: ...

  9. 电路方案分析(十一)低电平(5uA)V-I转化器

    低电平(5uA)V-I转化器 tips:TI设计方案参考分析:TI Designs:ZHCUO65 1.设计需求 2.工作原理 3.器件选择 4.仿真 5.PCB设计 6.测量验证结果 7.不同的配置 ...

最新文章

  1. DCIC 2021数据挖掘新赛题开放!
  2. Linux的文件权限
  3. matlab doc函数,matlab常用函数.doc
  4. python封装一个效率极高的 批量更新、插入合一的工具
  5. 1030 Travel Plan (30 分) 【难度: 中 / 知识点: 最短路】
  6. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片
  7. java五星好评点评器_亲,麻烦给个五星好评!—RatingBar
  8. Ambari安装client报错OSError:[Error 17] File exists
  9. 2_python基础—格式化符号(输入、输出、转义、结束)
  10. 女性最容易动心的21种时刻
  11. [框架][MyBatis]MyBatis集锦
  12. Mongodb 定时备份和恢复 1
  13. SVG 图标和sketch 模版免费网站
  14. 软件工程 可行性分析与需求分析
  15. 如何用漏斗模型进行数据分析
  16. File Struct 上传JPG格式图片变成tmp 服务器上传文件名字随机起
  17. 外语_ください_五十音图
  18. cairo之安装配置
  19. 深圳高新技术企业补贴政策及有何好处,补贴30万
  20. 史上最全的 pom.xml 文件详解

热门文章

  1. 多元回归分析的心得(笔记)
  2. oracle 错误实例分析(ORA-01078)
  3. 2019~ROS暑期学校~ROS Summer School in China~分享
  4. log4cxx vs2017编译
  5. android-刷机-filezilla-不要跟着做
  6. 带附件/密送/抄送的 javaMail 邮件发送 -- java_demo(两种实现方式)
  7. 如何查找和阅读综述性的文章
  8. 5G系统关键无线技术介绍
  9. 深入解析车牌识别相机在互联网+加油站中的应用方案
  10. 网站蜘蛛日志如何分析?对优化有用吗?