CSR蓝牙开发手记

这篇博客详细记录了CSR蓝牙开发过程,包括PIN码的处理,ACL和SCO连接在接听和挂断电话中的应用,以及PSDN电话版的铃声控制和配对控制。在PIN码部分,介绍了如何处理两种PIN码并重新进行inquiry。ACL连接部分讲述了如何避免inquiryscanf状态。电话控制中涉及了接挂电话的处理,以及按键和指示灯的状态控制。
摘要由CSDN通过智能技术生成

PSDN 和 Audio_gateway

 
一.Audio Dongle 手机版 1
1. PINCODE 1
2. Acl连接 2
3. Sco连接(接听和挂断电话) 2
4.Ps操作 2
5.按键控制 3
6. 指示灯 3
附录: 3
二.PSDN 电话版 4
7. 铃声控制 4
7.1 增加变量 4
7.2 相关管脚 4
7.3  函数控制 5
8. Pair控制(按键控制) 5
9. 指示灯 5
附录2: 6
 
    一.Audio Dongle 手机版
1. PINCODE
此款支持两种本公司的两种pincode码,分别是”0000”和”1234”。因此,我们做了两个改动:

Inquiry

问题:    在csr版本里,它指在配对前发出1次inquiry,在配对时由于pincode码不对将失败,退出inquiry状态。
解决:    在此,每次配对失败重新再inquiry。此外,我们用一个静态变量 ”TryCnt”来控制重新inquiry的次数,定义的inquiry十次。
涉及文件:pioag_receive.c中的handleIvnquiryCompleteCfm函数。pioag_send.c中的pioAgInquiryReq函数

PinCode

问题:    每次inquiry对方设备进行配对时需要pincode码,要支持我们的两种不同pincode码耳机。
解决:   每次碰到请求pincode时,我们就交替的提供我们的两种pincode发过去。
涉及文件:Pioag_send.c中的pioAgPinReplyReq函数

2. Acl连接

由于我们在CONNECT_AS_SLAVE等待连接时,只是处于pagescanf状态下,等待耳机来连它。而不主动去连耳机,故不需要进inquiryscanf,所以我们把        msg->is_interval = 0x400和msg->is_window = 0x200;均设为零。
涉及文件: ag_connect.c中的agConnectAsSlaveReqAction函数。

3. Sco连接(接听和挂断电话)
(耳机方发出连接

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值