大学生
最后登录1970-1-1
在线时间 小时
注册时间2013-7-16
|
RT 的freertos 移植是不是有bug呀。在中断中获取信号量之类的操作都会挂机。 [mw_shl_code=c,true]void FingerTech_KeyInit(void)
{
//éÏéyÑØ′¥·¢
gpio_pin_config_t fingertech_led = {kGPIO_DigitalInput,0,kGPIO_IntRisingEdge};
IOMUXC_SetPinMux(IOMUXC_SNVS_WAKEUP_GPIO5_IO00,0U);
IOMUXC_SetPinConfig(IOMUXC_SNVS_WAKEUP_GPIO5_IO00,0x01B0B0u);
EnableIRQ(GPIO5_Combined_0_15_IRQn);
GPIO_PinInit(GPIO5,(0U),&fingertech_led);
GPIO_PortEnableInterrupts(GPIO5,1 << (0U));
}
//ÖD¶Ï′|àíoˉêy
void GPIO5_Combined_0_15_IRQHandler(void)
{
BaseType_t xHigherPriorityTaskWoken;
BaseType_t xResult;
xHigherPriorityTaskWoken = pdFALSE;
GPIO_PortClearInterruptFlags(GPIO5, 1U << 0U);
PRINTF("xxxx ggggggggggggggggg i am fingerprint eint\r\n");
#if 0
if(gFingerTech_fingerEventGroup == NULL)
{
PRINTF("gFingerTech_fingerEventGroup is null\r\n");
}
xResult = xEventGroupSetBitsFromISR(gFingerTech_fingerEventGroup,0x01,&xHigherPriorityTaskWoken);
if(xResult != pdFAIL)
{
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
}
#endif
xResult = xSemaphoreGiveFromISR(xSemaphore, &xHigherPriorityTaskWoken);
if(xResult != pdFAIL)
{
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
}
}[/mw_shl_code] |
|