工具/软件:TI-RTOS
尊敬的 TI 专家:
我成功地安装并生成了用于 UART 仿真的 SCS 代码。
因此、当从 PC 接收数据时、它会发送回 PC。
我的问题是如何将接收事件信号发送到应用 MCU 而不是 PC。
我的理解是调用 scTaskAlertCallback 以使用'Semaphore_post'生成信号。
但是、我不知道如何在应用 CPU 中链接事件。 我仍然不熟悉信号。
我是否应该在 scTaskAlertCallback()中添加或修改某些内容?
void scTaskAlertCallback (void){
//唤醒操作系统任务
Semaphore_post (semaphore_handle (&semScTaskAlert));
}// scTaskAlertCallback
typedef 结构
{
uint8_t 事件; //传感器控制器事件
uint16_t data; // UART 数据
} uartEvt_t;
静态空 SimpleBLECentral_scUART_enqueueMsg (uint8_t 事件、uint8_t 数据)
{
uartEvt_t *pMsg;
//创建消息的动态指针。
if (pMsg = iCall_malloc (sizeof (uartEvt_t)))
{
pMsg->EVENT = EVENT;
pMsg->data =数据;
//将消息排队。
Util_enqueueMsg (appMsgQueue、syncdEvent、(uint8*) pMsg);
}
}
void SimpleBLECentrall_scUartTransferHandler (uint8数据)
{
SimpleBLECentral_scUART_enqueueMsg (SBC_UART_EVT、DATA);
}
静态空 SimpleBLECentral_processAppMsg (hbcEvt_t *pMsg)
{
switch (pMsg->HDR.event)
{
案例 SBC_State_change_EVT:
SimpleBLECentral_processStackMsg ((iCall_HDR *) pMsg->pData);
//释放堆栈消息
iCall_freeMsg (pMsg->pData);
中断;
案例 SBC_UART_EVT:
SimpleBLECentral_processUART ((((uartEvt_t*) pMsg)->data);
中断;
默认值:
//不执行任何操作。
中断;
}
}
静态空 SimpleBLECentral_processUART (uint16_t 数据)
{
Display_printf (dispHandle、6、0、"UART 数据:%x"、数据);
}
BR、
吉元