저는 Codewarrior 10.6 소프트웨어가있는 Freescale FRDM-KL25Z 보드를 사용하고 있습니다. 내 목표는 아날로그/디지털 컨버터 (0-3,3V)에 의해 서미스터에서 전압을 읽고 내가 켜기/끄기 LED 다이오드를 켜고 싶습니다이 전압에 따라 FreeRTOS에서 작은 프로그램을 만드는 것입니다. 두 번째 작업과 대기열을 추가 할 때까지 그것은 나를 위해 일했습니다. 나는 그 문제가 스택 크기에 있을지도 모른다고 생각하고있다. 그러나 나는 그것을 어떻게 구성해야할지 모른다.FreeRTOS의 대기열
코드는 다음과 같습니다 :에
xQueueHandle queue_led;
void TaskLed (void *p)
{
uint16_t temp_val;
xQueueReceive(queue_led, &temp_val, 1);
if (temp_val<60000)
{
LED_1_Neg();
}
}
void TaskTemp (void *p)
{
uint16_t temp_val;
(void)AD1_Measure(TRUE);
(void)AD1_GetValue16(&temp_val);
xQueueSendToBack(queue_led, &temp_val, 1000);
FRTOS1_vTaskDelay(1000);
}
코드) (주 :
xTaskCreate(TaskLed, (signed char *)"tl", 200, NULL, 1, NULL);
xTaskCreate(TaskTemp, (signed char *)"tt", 200, NULL, 1, NULL);
vTaskStartScheduler();
return(0);