PHY6252开发法基础概括

资料地址: 欢迎使用PhyPlus Wiki! [PHYPLUS Wiki]

SDK 3.x.x 应用于 PHY6222/PHY6252

SDKs [PHYPLUS Wiki]

比较懒得可从如下链接获取

PHY6252开发资源合集-其它文档类资源-CSDN文库

实际SDK下串口AT透传例程为

PHY62XX_SDK_3.1.1\release_bbb_sdk-PHY62XX_SDK_3.1.1\example\ble_peripheral\bleUart_AT

其中OSAL与射频部分是不开源的,开发有一定难度

用Keil打开后

//

//bleUart_At软件流程如下:

//bleUart_At软件主要是用于串口透传,一般这种工程主要关注收发就行。

//     1、收 uart -> 主机。收通过串口rx来收。收分为两个阶段,连接和未连接阶段。

//            a、程序最初为未连接状态,初始化uart函数为at_uart_init,将未连接时串口的收发回调函数设置为ProcessUartData,用于接收at指令。当有rx接收到数据时触发回调事件UART_EVT_TYPE_RX_DATA,在该事件中会将接收到的数据放到cmdstr

//                   数组中,然后发送一个BUP_OSAL_EVT_AT_UART_RX_CMD到bleuart_TaskID任务。在BUP_OSAL_EVT_AT_UART_RX_CMD事件中解析接收到的at指令。

//            b、如果连接到了主机,会触发连接事件BUP_OSAL_EVT_AT_BLE_CONNECT,然后调用BUP_init初始化串口,将串口的收发回调函数设置为uart_evt_hdl。当连接成功后将接收到的数据作为透传数据而不是at指令数据,这也是为什么要两次初始化

//                   串口的原因。当有rx接收到数据时触发回调事件UART_EVT_TYPE_RX_DATA,首先会判断接收到的数据是不是睡眠唤醒前导,一般芯片进入睡眠要唤醒的话要发一串0xFE前导码唤醒芯片,然后将接下来的数据放到buf中,再发送一个BUP_OSAL_EVT_UART_TO_TIMER

//                   事件到bleuart_TaskID任务。在BUP_OSAL_EVT_UART_TO_TIMER事件中调用BUP_data_uart_to_BLE将接收到的数据通过notify透传给主机。

//     2、发 主机 -> uart。主机将数据通过write发送给从机,从机接收后通过uart打印。

//            a、当主机发送数据给从机后,协议栈会调用回调函数on_bleuartServiceEvt,该函数的bleuart_EVT_BLE_DATA_RECIEVED事件会将接收到的数据放到数组中,同时打印出来。然后会发送一个事件BUP_OSAL_EVT_UART_DATA_RX到bleuart_TaskID,

//                   然后在BUP_OSAL_EVT_UART_DATA_RX该事件中解析收到的数据,本工程没有解析数据而是直接将接收到的数据发回给主机。

//以上就是整个bleUart_At软件的大致流程,其中当没有连接时,那么系统将会在没有任何操作后20S后进入睡眠。

//

OSAL如下:

烧录方法如下:

开发板推荐:

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值