完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先,依旧是进行了端口的配置,跟之前一样,使用这三个端口
![]() 然后进行蓝牙的配置,和之前稍微有些不同,也是让我花费了一点时间 ![]() ![]() ![]() ![]() 以下是代码的编写,由于基本跟例程差不多,所以不作过多的解释 程序如下,主要是调用库函数,官方的库是十分丰富的。 void StackEventHandler(uint32 event,void *eventParam) { switch(event) { case CYBLE_EVT_STACK_ON: case CYBLE_EVT_GAP_DEVICE_DISCONNECTED: CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST); break; default: break; } } void IasEventHandler(uint32 event, void *eventParam) { uint8 alertLevel; if(event==CYBLE_EVT_IASS_WRITE_CHAR_CMD) { CyBle_IassGetCharacteristicValue(CYBLE_IAS_ALERT_LEVEL,sizeof(alertLevel),&alertLevel); //端口初始化操作 Pin_R_Write(1); Pin_G_Write(1); Pin_B_Write(1); switch(alertLevel) { case 0: Pin_R_Write(0); break; case 1: Pin_G_Write(0); break; case 2: Pin_B_Write(0); break; default: break; } } } int main() { CyGlobalIntEnable; /* Enable globalinterrupts. */ /* Placeyour initialization/startup code here (e.g. MyInst_Start()) */ CyBle_Start(StackEventHandler); CyBle_IasRegisterAttrCallback(IasEventHandler); Pin_B_Write(~Pin_B_Read()); while(1) { CyBle_ProcessEvents(); } } 与之前实验一样,也是通过Cysmart进行蓝牙控制![]() ![]() 接下来,就是利用手机作为蓝牙的发送口,在AppStore里可以找到 与之前建立工程一样,代码如下: void StackEventHandler(uint32 event,void *eventParam) { switch(event) { case CYBLE_EVT_STACK_ON: case CYBLE_EVT_GAP_DEVICE_DISCONNECTED: CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST); break; default: break; } } void IasEventHandler(uint32 event, void *eventParam) { uint8 alertLevel; if(event==CYBLE_EVT_IASS_WRITE_CHAR_CMD) { CyBle_IassGetCharacteristicValue(CYBLE_IAS_ALERT_LEVEL,sizeof(alertLevel),&alertLevel); Pin_B_Write(1); Pin_R_Write(1); Pin_G_Write(1); switch(alertLevel) { case NO_ALERT: PWM_WriteCompare(NO_ALERT_COMPARE); break; case MILD_ALERT: Pin_G_Write(0); PWM_WriteCompare(MILD_ALERT_COMPARE); break; case HIGH_ALERT: Pin_R_Write(0); PWM_WriteCompare(HIGH_ALERT_COMPARE); break; default: break; } } } int main() { CyGlobalIntEnable; /* Enable globalinterrupts. */ /* Placeyour initialization/startup code here (e.g. MyInst_Start()) */ CyBle_Start(StackEventHandler); PWM_Start(); CyBle_IasRegisterAttrCallback(IasEventHandler); while(1) { CyBle_ProcessEvents(); } } 下载后再手机里打开CySmart进行搜索
![]() 进行搜索
![]() |
|
相关推荐
5 个讨论
|
|
只有小组成员才能发言,加入小组>>
740个成员聚集在这个小组
加入小组1987 浏览 1 评论
1749 浏览 1 评论
3527 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1679 浏览 6 评论
1455 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
240浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
145浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
336浏览 2评论
284浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
469浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-2 17:22 , Processed in 0.970887 second(s), Total 51, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191