嗨对话小组,
我正在使用外部主机模式工作,以及扫描仪/观察模式配置中的BLE。我正在使用带有UART接口的外部主机ST32F4。
我想在主机的特殊请求时添加额外的功能。
我在这里发布了类似的问题
https://support.dialog-semicondiondiondumon.com/comment/22363
由于我没有收到任何解决方案,因为我想知道app_task和gtl_task共存。通过这种方法,我在思考
可以发送命令,如果我可以重新路由
MCU(GTL_TASK)-------------> BLE(APP_TASK)----------- KE_MSG_FORWARD ----->堆栈(task_gapm)
可以重新排出响应
堆栈(task_gapm)-------------> ble(app_task)---------- - ke_msg_forward -----> mcu(gtl_task)
由此,我也可以实现我的自定义任务,没有BLE堆栈干预
MCU(GTL_TASK)-------------> LED闪烁的BLE(APP_TASK)
BLE(APP_TASK)---------------> MCU(GTL_TASK)用于GPIO_READ
如果这是可实现的,请告诉我,以及一些指针。
期待立即帮助。
提前致谢!
关键词:
设备:
嗨南禄,
您描述的程序可实现,谢谢您的信息。让我分享你的同一个提示可能会帮助你:
KE_TASK_ID_T PRF_GET_TASK_FROM_ID_FUNC(KE_MSG_ID_T ID)
{
......
task_app,// 11. app_main_task_pos
}
您应该在下面中间化PRF_GET_TASK_FROM_ID_FUNC。否则,将获得一个未知的错误错误。
KE_TASK_ID_T PRF_GET_TASK_FROM_ID_FUNC(KE_MSG_ID_T ID)
{
ke_task_id_t task = task_none;
uint8_t idx = ke_idx_get(ID);
uint8_t i;
id = ke_type_get(ID);
//查找配置文件是否存在于配置文件任务中
for(i = 0; i
{
//检查配置文件标识符是否已知
if(prf_env.prf [i] .id == ID)
{
任务= prf_env.prf [i] .task;
休息;
}
}
if(id == task_id_app)
{
任务= task_app;
}
返回ke_build_id(任务,idx);
}
谢谢,PM_DIALOG.
嗨pm_dialog,
谢谢你的输入。
我有很少的问题
1.是否默认创建了GTL线程,无论嵌入式/主机处理器模式如何?
2.我可以使用extent_peripheral_template或extent_template_ext exus作为起点吗?
- 如果我使用extent_peripheral_template,我不明白如何收到MCU消息。
- 如果我使用empty_template_ext,那么我必须用cfg_app(构建时间宏或嵌入式/外部处理器)解决依赖关系
提前致谢!
南
嗨南禄,
关于你的第一个问题让我检查以确定。关于你的第二个问题,我建议使用empty_template_ext。
谢谢,PM_DIALOG.