完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前面的实验都是BLE Pioneer Kit作为从机,BLE Dongle 作为主机。这个实验我们反过来,BLE Pioneer Kit作为主机,BLE Dongle作为从机。 BLE Pioneer Kit作为Central and GATT client ,它扫描从机,连接从机。在这个实验中BLE Pioneer Kit将扫描并且自动连接一个从机,提供一个及时提醒服务。整个运行过程中使用RGB的蓝色LED作为指示。当没有连接时system进入深度休眠。按SW2唤醒系统,蓝色灯闪烁且开始扫描。扫描超时时间为30s。按SW2唤醒重复相同过程。 u 如果在扫描时间内发现从机广播,进入连接模式,蓝色LED一直亮。 u 如果没有发现设备,系统停止扫描且进入深度休眠,关闭蓝色LED。 1,启动PSoC Creator建立项目工程,命名为BLE_Central_IAS。 2,选取需要的组件,本项目我们需要BLE、一个Port输出组件控制LED、一个输入port组件连接按键、一个中断组件,产生按键中断。 3,对组件进行配置 对蓝牙组件进行配置,双击蓝牙组件,配置为主机,GATT client。 LED控制配置 按键配置, 中断组件配置 4,引脚配置 5,编译。编译成功后,自动生成相关文件。 6,编写应用程序。 系统初始化函数 186行初始化BLE协议栈,回调函数ApplicationEventHandler处理BLE协议栈事件。 189行初始化设备地址。192行初始化按键中断,回调为中断处理函数,中断处理函数中注意清除中断标志。 以上是BLE协议栈事件处回调函数所做的事情。 Main函数中主要说一下低功耗模式。 135行调用CyBle_ProcessEvents,是处理完BLE所有事件后进入低功耗模式。136行是进入低功耗模式的函数。 7,编译下载。然后验证主机运行是否正常。按下SW2,在没有从机的情况下蓝色LED闪烁30秒。30秒没有搜索到从机,进入睡眠状态,关闭LED。 验证结果正常。接下来建立从机工程。 上述实验了低功耗,30s扫描不到设备,系统进入深度休眠。只有再次按键时才再扫描30S。那么如果要使系统不进入低功耗呢?那么我们加一个定时器,1S扫描一次。 需要在原理图中增加一个定时器组件、时钟、中断组成定时器。 配置相关组件 时钟我们使用12MHz 定时器组件配置 配置为1MS中断。 编译生成定时器相关文件。 在初始化函数中加入初始化定时器代码。 Timer_InterruptHandler是定时器中断回调函数 Main函数修改为 这样就实现了1S周期性扫描。 BLE Dongle作为,所以我们在USB桥上建立从机工程。从机的BLE芯片是CYBL10162-56LQXI。在从机上实现LED三级报警。所以从机上只需要蓝牙组件和定时器组件。 1,原理图 2,组件配置 BLE配置 定时器组件配置 时钟定义2Khz。 3,引脚配置 4,编译自动生成相关文件。 5,应用程序编写。 |
|
相关推荐
2 个讨论
|
|
我也在做这个,楼主可以分享一下源代码吗?非常感谢
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2075 浏览 1 评论
1829 浏览 1 评论
3643 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1766 浏览 6 评论
1517 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
516浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
368浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
413浏览 2评论
360浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
867浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 22:39 , Processed in 0.943443 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号