zoukankan      html  css  js  c++  java
  • 蓝牙开发

    1 需求:手机给特征值写一个20字节的数据,cc2541收到后将内容存储到flash中,然后重启系统
    读出flash的值,看看是否与上次写入的值相同。

    2 思路:调用osal_snv_write|osal_snv_read()函数进行操作。

    3 步骤 1 SimpleProfile_GetParameter()可以得到主机发送过来的值char1value,
    然后将char1value通过osal_snv_write写入flash中保存下来

    2 然后通过osal_snv_read()函数将flash中保存的值读出来,然后将读到的值通过
    SimpleProfile_SetParameter()函数发送到手机端。


    1 需求:手机给特征值写一个20字节的数据,单片机收到数据后,将值写入flash中,
    再次启动时,读取flash的值,并将Flash的值放人到要修改的广播数据包中。

    2 思路:主要是先实现静态改名,在静态改名的基础上进行一些修改之后,去实现动态的
    那样会有条理。

    3 步骤: 1 复制原有数组scanRspData[],将原有数组名中的0x14改为对后面的数据包的个数和。
    使用的是类似于crc校验的方式。关键将其转换为16进制。(10进制行不行要试试。)

    sum = 0; //计算CRC
    for(i=0;i<19;i++)
    {
    sum += bt_send_back_buf[i];
    }
    bt_send_back_buf[19] = sum;
    2 将数据存入后 可以将数组名复制给 attDeviceName[GAP_DEVICE_NAME_LEN]
    其中GAP_DEVICE_NAME_LEN 可以采用刚才Crc算出的数据长度。

    3 主要可以先实现步骤二在做步骤一。


    1 Alt + 97 可以快速查看ascii
    2 scanRspData[] 是蓝牙设备用于回复主机扫描请求的信息,或者简单理解为蓝牙设备名;而 advertData[] 就是广播内容。

  • 相关阅读:
    vscode设置js文件自动格式化单引号
    解决git每次输入账号密码问题
    vscode设置vouter标签不换行
    查看修改npm地址并登录
    正则匹配[]外部的内容
    使用v-model实现父子组件之间传值
    发布网站
    安装IIS
    IIS服务添加角色
    react生命周期
  • 原文地址:https://www.cnblogs.com/gongxianjin/p/10055010.html
Copyright © 2011-2022 走看看