Ti CC2441学习笔记(simpleBLEPeripheral为例程)

奋斗simpleBLEPeripheral.c的第339行

uint8 pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;//如果有配对请求或者安全性有要求那就配对(默认)

uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE; //手机首次连接后需要配对

uint8 pairMode = GAPBOND_PAIRING_MODE_NO_PAIRING;//无需配对,点击配对自动退出

验证:选择配对时其实主从已连接,上述第二项依然为该情况,验证发现在不配对的情况下主机手机APP依然可以连接上从机并扫到服务,只是APP会出现崩溃,目前来看配对操作对两者间连接以及数据传输意义不大,还是考虑自拟密码验证,不正确断开连接。


奋斗BLE中的数据发送,无需关注底层射频、硬件相关等

数据发送分为GATT的client(主机)主动向service发,还有service(从机)主动向client发
主向从发:通过调用GATT_WriteCharValue()函数来实现,入口参数有数据内容、长度等;
从向主发:通过调用GATT_Notification()函数来实现,串口透传等项目会用到,入口参数与上者类似,有内容、长度等;

奋斗BLE中的数据接收

数据发送分为从接主发以及主接从发
从接主发:从接到主发时从机会回调一个名为simpleProfileChagneCB()的函数,在该函数内接收并处理主机发来的数据,该回调函数在从机初始化时向Profile注册;

奋斗BLE从机广播数据

广播时必须携带一个主要service的UUID,而主机端可以设置为根据该UUID来搜索这个从机,如果UUID不为对应数值则主机无法搜索到该从机。
从机在没主机扫描时仅发送含蓝牙地址(Adva)和UUID等的广播,在检测到主机扫描时会在广播间隔发送含有设备名和发射功率等数据的扫描回应。

奋斗OSAL系统抽象层

OSAL并不是一个抢占式实时OS,OSAL就是不停查询有没有任务需要执行,如果有就执行,执行完了再查询,就这么转着圈的查,一个循环的时间取决于每个任务执行的时间,最小可以达到320us,这要求对每个任务编程时需要注意不要执行太耗时的工作,否则会影响其它任务的执行效果,当然中断还是可以打断任务循环的。
详见:http://feibit.com/thread-6368-1-1.html
关于CC系列的OSAL新浪博文:http://blog.sina.com.cn/s/blog_533074eb01015z3t.html

奋斗OSAL下的外部中断

按键采用外部中断触发的方式,其中断服务函数在hal_key.c文件的第578行,对中断服务函数进行了封装,格式如下。
HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )//POINT_VECTOR为端口0的中断向量
{
  HAL_ENTER_ISR();

#if defined ( CC2540_MINIDK )
  if ((HAL_KEY_SW_1_PXIFG & HAL_KEY_SW_1_BIT) || (HAL_KEY_SW_2_PXIFG & HAL_KEY_SW_2_BIT))
#else
  if (HAL_KEY_SW_6_PXIFG & HAL_KEY_SW_6_BIT)
#endif
  {
    halProcessKeyInterrupt();//按键逻辑处理
  }

  /*
    Clear the CPU interrupt flag for Port_0
    PxIFG has to be cleared before PxIF
  */
#if defined ( CC2540_MINIDK )
  HAL_KEY_SW_1_PXIFG = 0;
  HAL_KEY_SW_2_PXIFG = 0;
#else
  HAL_KEY_SW_6_PXIFG = 0;
#endif
  HAL_KEY_CPU_PORT_0_IF = 0;

  CLEAR_SLEEP_MODE();

  HAL_EXIT_ISR();

  return;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值