您好,
最近我在用AD14580开发一些BLE应用程序,现在遇到了一些问题,无法进行任何开发。
一开始,我学习了一些外设,比如定时器,spi。它们工作得很好。然后我在DA14580上运行了一些BLE示例。它们也工作得很好。但是我连看了几天的pdf文件,比如UM-B-015\U DA14580 software architecture v4.0或UM-B-003 software Development Guide 1雷竞技安卓下载.4,都不懂软件体系结构。
现在我只知道一点RW,简介。我准备读一些关于BLE的书,看看它是否能变得更好。
我的目标是知道如何根据自己的申请编写或改编一个简介。我怎么做?
顺便问一下,我想问一个具体的软件问题。我在网上找到了一个例子。当它接收到一些字节时,它可以通过BLE发送相同的字节。下面的函数起主导作用。它在streamdatad\u task.c中,是一个配置文件。我不知道它是如何工作的。我不能确定它调用的一些函数的任何信息,比如attmdb\u att\u set\u value,收件人写入发送,attmdb\u att\u update\u value.这使我感到沮丧和困惑。
/****************************************************************************************************************************************************************
*@brief处理@ref GATT\u WRITE CMD IND消息的接收。
*处理程序检查流是否需要打开。
*@param[in]msgid已收到消息(可能未使用)。
*@param[in]param指向消息参数的指针。
*@param[in]接收任务实例的dest\u id(可能未使用)。
*@param[in]发送任务实例的src\u id。
*@返回消息是否已使用。
****************************************************************************************
*/
静态int gattc\u write\u cmd\u ind\u处理程序(ke\u msg\u id\u t const msgid,
结构gattc\u write\u cmd\u ind const*param,
ke\u task\u id\u t const dest\u id,
ke\u task\u id\u t const src\u id)
{
//更新属性值
char ValueBuf[20]={0}
/**/
开关(STREAMDATAD\u IDX(参数->;handle))
{
case STREAMDATAD \u IDX \u ENABLE \u VAL:
attmdb \u att \u update \u value(参数->;句柄,参数->;长度,参数->;偏移量,
(uint8\u t*)&(参数->;值[0])
附件写入rsp发送(streamdatad\u env.conhdl,param->;手柄,PRF\U ERR\U OK)
memcpy(ValueBuf,&(参数->;值),参数->;长度)
attmdb\u att\u set\u value(STREAMDATAD\u DIR\u VAL\u HANDLE(0),参数->;长度(uint8_t*)&(参数->;值[0])
prf\u server\u send\u event((prf\u env\u struct*)&(streamdatad_env.con_info),false,streamdatad_DIR_VAL_HANDLE(0))
if(ValueBuf[0]=='1')
{
GPIO\u SetActive(GPIO\u PORT\u 1,GPIO\u PIN\u 0)
}
否则
{
GPIO\u SetInactive(GPIO\u PORT\u 1,GPIO\u PIN\u 0)
}
断裂
大小写STREAMDATAD_IDX_STREAMDATAD_D0_EN:
nop()
中断
case STREAMDATAD_IDX_STREAMDATAD_D0_VAL:
nop()
中断
}
返回值(已消耗的味精)
}