Other Parts Discussed in Thread: CC2640, ADS1292
主题中讨论的其他器件: ADS1292
工具/软件:Code Composer Studio
我使用 cc2640通过 SPI 与 ADS1292通信。 ADS1292被编程为向 cc2640发送中断。 我修改 PROJECT_ZERO 工程以添加 SPI 通信和中断过程。 正确接收中断。 这是我的 ISR
静态空 adcCallbackFxn (PIN_Handle handle、PIN_ID pinId)
{
//为消息分配内存。
app_msg_t * pMsg = iCall_malloc (sizeof (app_msg_t)+ 1);
if (pMsg!=空)
{
PIN_setOutputValue (ledPinHandle、Board_DIO21、0);
pMsg->type = APP_MSG_ADC_DATA;
//使用指向队列节点元素的指针对消息进行排队。
queue_enqueue (hApplicationMsgQ、&pMsg->_elem);
//告知应用程序有一条消息。
Semaphore_post (SEM);
}
PIN_setOutputValue (ledPinHandle、Board_DIO21、1);
}
从示波器中、我可以看到中断每8ms 出现一次、但 pMsg 有时分配失败。 我的问题是、我是否每次都需要分配 pMsg? 它看起来不可靠。 我能否使用静态全局变量等其他方法与静态 void ProjectZero_taskFxn (UArg a0、UArg A1)进行通信?
谢谢。
Jin