S32K144 Can Callback Issue With Freertos TaskNotify

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K144 Can Callback Issue With Freertos TaskNotify

ソリューションへジャンプ
1,837件の閲覧回数
HarunCSaykal
Contributor II
   Hello
I work with S32K144 processor. I'm using Freertos. I'm using an interrupt for Can RX. When the RX interrupt occurs, I send a notify to a task. But when I send notify, I get stuck in the "portFORCE_INLINE static void vPortRaiseBASEPRI( void)" function.

    CAN_Init(&can_pal1_instance, &can_pal1_Config0);
    CAN_InstallEventCallback(&can_pal1_instance, CAN_TX_RX_Callback, NULL);

    can_recvtask_handle = xTaskCreateStatic(CAN_RecvTask,
                                            APP_CAN_RECV_TASK_NAME,
                                            APP_CAN_RECV_TASK_STACK,
                                            NULL,
                                            APP_CAN_RECV_TASK_PRIO,
                                            xRecvStack,          /* Array to use as the task's stack. */
                                            &xRecvTaskBuffer);

    
    void CAN_TX_RX_Callback(uint32_t instance, can_event_t eventType, uint32_t objIdx, void      *driverState)
    {
         /*check and handle the RX complete event*/
        if (CAN_EVENT_RX_COMPLETE == eventType) {
            CAN_Receive(&can_pal1_instance, objIdx, &rx_msg);
            BaseType_t xHigherPriorityTaskWoken = pdFALSE;
            xTaskNotifyFromISR(can_recvtask_handle, 0, eNoAction, &xHigherPriorityTaskWoken);  // The function that encounters the error.
            if (xHigherPriorityTaskWoken) {
                 portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
            }
         }
      }


    static void CAN_RecvTask(void *Params)
   {
        (void)Params;
        while (pdTRUE) {
             xTaskNotifyWait(0, 0, eNoAction, portMAX_DELAY);
             J1939_Parser(rx_msg.id, &(rx_msg.data[0]));
        }
     }

xTaskNotifyFromISR(can_recvtask_handle, 0, eNoAction, &xHigherPriorityTaskWoken) is the function that falls into error.

I found out that this is an interrupt priority error. In another function, I was able to solve this problem by setting the interrupt priority.
http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html 

The code block below works without any issues.

#define LZ_PORT_IRQN        PORTD_IRQn
#define LZ_PORT_IRQN_PRI    (1)


app_status_t GPIO_install_int (void)

{
    /* Install LZ Button & INT interrupt handler */
    INT_SYS_InstallHandler(LZ_PORT_IRQN, RF_Instance_Int_Handler, (isr_t *)NULL);
    /* Enable LZ Button interrupt handler */
    INT_SYS_EnableIRQ(LZ_PORT_IRQN);

    INT_SYS_SetPriority(LZ_PORT_IRQN, LZ_PORT_IRQN_PRI);

    if (INT_SYS_GetPriority(LZ_PORT_IRQN) != LZ_PORT_IRQN_PRI) {
        return APP_STATUS_FAIL;
    }

    return APP_STATUS_OK;
}

void RF_Instance_Int_Handler (void)
{
    uint32_t u32Flags;

    u32Flags = GPIO_AML_GetInterruptFlags(SW_INT_LZ_INSTANCE);

    /* Check if interrupt comes from LZ INT pin */
    if (u32Flags & (1 << LZ_INT_PIN_NB)) {
        BaseType_t xHigherPriorityTaskWoken = pdFALSE;
        xTaskNotifyFromISR(RF_TaskHandle, 0, eNoAction, &xHigherPriorityTaskWoken);
        if (xHigherPriorityTaskWoken) {
            portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
        }
        GPIO_AML_ClearInterruptFlags(SW_INT_LZ_INSTANCE, LZ_INT_PIN_NB);
    }
}


But I couldn't set this priority for Can interrupt. How can I set this priority for CAN RX, or what other solutions are there for this problem?
0 件の賞賛
返信
1 解決策
1,796件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

you can set interrupt priority for given ISR in similar manner as for Port interrupt, using NT_SYS_SetPriority function. Just use right function parameters, like
INT_SYS_SetPriority(CAN0_ORed_0_15_MB_IRQn, 1);

BR, Petr

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,797件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

you can set interrupt priority for given ISR in similar manner as for Port interrupt, using NT_SYS_SetPriority function. Just use right function parameters, like
INT_SYS_SetPriority(CAN0_ORed_0_15_MB_IRQn, 1);

BR, Petr

0 件の賞賛
返信
1,772件の閲覧回数
HarunCSaykal
Contributor II

Solved. Yes, that's right fucn. Thank you.

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-1971923%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EFreertos%20TaskNotify%20%E3%81%AE%20S32K144%20Can%20%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%AE%E5%95%8F%E9%A1%8C%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1971923%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%3E%3CSPAN%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CBR%20%2F%3E%E7%A7%81%E3%81%AFS32K144%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%81%A7%E4%BD%9C%E6%A5%AD%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82Freertos%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82Can%20RX%E3%81%AE%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82RX%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%80%81%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AB%E9%80%9A%E7%9F%A5%E3%82%92%E9%80%81%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E9%80%9A%E7%9F%A5%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%80%8C%3CSTRONG%3EportFORCE_INLINE%20static%20void%20vPortRaiseBASEPRI(void)%E3%80%8D%3C%2FSTRONG%3E%E9%96%A2%E6%95%B0%E3%81%A7%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3CFONT%20color%3D%22%23FF9900%22%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20%3CFONT%20color%3D%22%23003366%22%3ECAN_Init(%26amp%3Bcan_pal1_instance%2C%20%26amp%3Bcan_pal1_Config0)%3B%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3ECAN_InstallEventCallback(%26amp%3Bcan_pal1_instance%2C%20CAN_TX_RX_Callback%2C%20NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FFONT%3E%3CDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3Ecan_recvtask_handle%20%3D%20xTaskCreateStatic(CAN_RecvTask%2C%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3EAPP_CAN_RECV_TASK_NAME%E3%80%81%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3EAPP_CAN_RECV_TASK_STACK%E3%80%81%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%E3%83%8C%E3%83%AB%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3EAPP_CAN_RECV_TASK_PRIO%E3%80%81%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3ExRecvStack%2C%20%2F*%20%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%85%8D%E5%88%97%E3%80%82*%2F%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%26amp%3BxRecvTaskBuffer)%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%3CBR%20%2F%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FFONT%3E%3CDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3Evoid%20CAN_TX_RX_Callback(uint32_t%20instance%2C%20can_event_t%20eventType%2C%20uint32_t%20objIdx%2C%20void%20*driverState)%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%2F*RX%E5%AE%8C%E4%BA%86%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E5%87%A6%E7%90%86%E3%81%97%E3%81%BE%E3%81%99*%2F%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3Eif%20(CAN_EVENT_RX_COMPLETE%20%3D%3D%20%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97)%20%7B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3ECAN_Receive(%26amp%3Bcan_pal1_instance%2C%20objIdx%2C%20%26amp%3Brx_msg)%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3EBaseType_t%20xHigherPriorityTaskWoken%20%3D%20pdFALSE%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3CFONT%20color%3D%22%23FF0000%22%3ExTaskNotifyFromISR(can_recvtask_handle%2C%200%2C%20eNoAction%2C%20%26amp%3BxHigherPriorityTaskWoken)%3B%20%3CSPAN%3E%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E9%96%A2%E6%95%B0%E3%80%82%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3Eif%20(xHigherPriorityTaskWoken)%20%7B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3EportYIELD_FROM_ISR(xHigherPriorityTaskWoken)%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3Estatic%20void%20CAN_RecvTask(void%20*%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF)%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%7B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20(void)Params%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3Ewhile%20(pdTRUE)%20%7B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3ExTaskNotifyWait(0%2C%200%2C%20eNoAction%2C%20portMAX_DELAY)%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BJ1939_Parser(rx_msg.id%2C%20%26amp%3B(rx_msg.data%5B0%5D))%3B%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FFONT%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%23003366%22%3E%3CSTRONG%3ExTaskNotifyFromISR(can_recvtask_handle%2C%200%2C%20eNoAction%2C%20%26amp%3BxHigherPriorityTaskWoken)%20%3C%2FSTRONG%3E%E3%81%AF%E3%80%81%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E9%99%A5%E3%82%8B%E9%96%A2%E6%95%B0%E3%81%A7%E3%81%99%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FFONT%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CP%20class%3D%22%22%3E%E3%81%93%E3%82%8C%E3%81%AF%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%84%AA%E5%85%88%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A7%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E5%88%A5%E3%81%AE%E6%A9%9F%E8%83%BD%E3%81%A7%E3%81%AF%E3%80%81%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AE%E5%84%AA%E5%85%88%E9%A0%86%E4%BD%8D%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CBR%20%2F%3E%3CA%20href%3D%22http%3A%2F%2Fwww.FreeRTOS.org%2FRTOS-Cortex-M3-M4.html%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttp%3A%2F%2Fwww.FreeRTOS.org%2FRTOS-Cortex-M3-M4.html%3C%2FA%3E%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%3E%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSTRONG%3E%23define%20LZ_PORT_IRQN%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BPORTD_IRQn%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%23define%20LZ_PORT_IRQN_PRI%20(1)%3C%2FSTRONG%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%20class%3D%22%22%3E%3CSTRONG%3E%3CBR%20%2F%3Eapp_status_t%20GPIO_install_int%20(void)%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CSTRONG%3E%7B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%2F*%20LZ%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A8INT%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%20*%2F%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3EINT_SYS_InstallHandler(LZ_PORT_IRQN%2C%20RF_Instance_Int_Handler%2C%20(isr_t%20*)NULL)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%2F*%20LZ%E3%83%9C%E3%82%BF%E3%83%B3%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%20*%2F%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20INT_SYS_EnableIRQ(LZ_PORT_IRQN)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20INT_SYS_SetPriority(LZ_PORT_IRQN%2C%20LZ_PORT_IRQN_PRI)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20if%20(INT_SYS_GetPriority(LZ_PORT_IRQN)%20!%3D%20LZ_PORT_IRQN_PRI)%20%7B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3EAPP_STATUS_FAIL%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20return%20APP_STATUS_OK%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%3CSTRONG%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FSTRONG%3E%3CDIV%3E%3CDIV%3E%3CSTRONG%3E%E3%83%9C%E3%82%A4%E3%83%89RF_Instance_Int_Handler(%E3%83%9C%E3%82%A4%E3%83%89)%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%7B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20uint32_t%20u32Flags%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSTRONG%3Eu32Flags%20%3D%20GPIO_AML_GetInterruptFlags(SW_INT_LZ_INSTANCE)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSTRONG%3E%2F*%20%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%8CLZ%20INT%E3%83%94%E3%83%B3%E3%81%8B%E3%82%89%E6%9D%A5%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E7%A2%BA%E8%AA%8D%20*%2F%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3Eif%20(u32Flags%20%26amp%3B%20(1%20%26lt%3B%26lt%3B%20LZ_INT_PIN_NB))%20%7B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3EBaseType_t%20xHigherPriorityTaskWoken%20%3D%20pdFALSE%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3ExTaskNotifyFromISR(RF_TaskHandle%2C%200%2C%20eNoAction%2C%20%26amp%3BxHigherPriorityTaskWoken)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3Eif%20(xHigherPriorityTaskWoken)%20%7B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3EportYIELD_FROM_ISR(xHigherPriorityTaskWoken)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3EGPIO_AML_ClearInterruptFlags(SW_INT_LZ_INSTANCE%E3%80%81LZ_INT_PIN_NB)%3B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CSPAN%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CSPAN%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E7%A7%81%E3%81%AF%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AE%E7%BC%B6%E3%81%AE%E5%84%AA%E5%85%88%E9%A0%86%E4%BD%8D%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82CAN%20RX%20%E3%81%A7%E3%81%93%E3%81%AE%E5%84%AA%E5%85%88%E5%BA%A6%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%84%E3%80%81%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E4%BB%96%E3%81%AE%E8%A7%A3%E6%B1%BA%E7%AD%96%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1973912%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3AFreertos%20TaskNotify%E3%81%AES32K144%E7%BC%B6%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%AE%E5%95%8F%E9%A1%8C%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1973912%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%A7%A3%E6%B1%BA%E3%80%82%E3%81%AF%E3%81%84%E3%80%81%E3%81%9D%E3%81%86%E3%81%A7%E3%81%99fucn%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1973282%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3AFreertos%20TaskNotify%E3%81%AES32K144%E7%BC%B6%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%AE%E5%95%8F%E9%A1%8C%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1973282%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E%E7%89%B9%E5%AE%9A%E3%81%AE%20ISR%20%E3%81%AE%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%84%AA%E5%85%88%E5%BA%A6%E3%81%AF%E3%80%81%E3%83%9D%E3%83%BC%E3%83%88%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%A8%E5%90%8C%E6%A7%98%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%A7%E3%80%81%3CSTRONG%3ENT_SYS_SetPriority%3C%2FSTRONG%3E%20%E6%A9%9F%E8%83%BD%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E9%81%A9%E5%88%87%E3%81%AA%E9%96%A2%E6%95%B0%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%20(%3CBR%20%2F%3EINT_SYS_SetPriority(CAN0_ORed_0_15_MB_IRQn%2C%201)%3B%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E