저는 freeRTOS를 AT32UC3A0512에서 실행되는 어플리케이션에 통합하려고 시도하고 있습니다. 에 의해 지금 기존 프로젝트에 freeRTOS 통합
int main()
{
char str[5];
uint8_t num;
enable_Timer();
enable_Timer_Interrupt();
sprintf (str, %03d, num);
while(1)
{
// Wait the timer interrupt to happen
}
}
처럼
src
|ASF
|main.c
|freertos
|freertos-7.0.0
|source
주요 외모 : 그래서 내 응용 프로그램 계층 구조처럼 보이는 EVK1100 (가 AT32UC3A 지원)에 대한 freeRTOS 프로젝트 예제를 다운로드 및 커널 소스 파일을 포함하려고 그냥 내 프로젝트에서 freertos 폴더를 제외하고, 타이머 인터럽트가 발생하고 모두 잘 작동합니다.
freertos 폴더를 포함하면 (freertos 소스에 대한 포함이나 호출이 수행되지 않음) 타이머 인터럽트가 발생하지 않습니다.
그것은 미친 것 같다하지만 난 sprintf
의 동작이 방법을 변경 방법을 모르는 또한 내가 sprintf
사이의 관계 및 인터럽트 컨트롤러
의견을 보내 주셔서 감사합니다. 사실, 같은 타이머가 호출되었습니다. 그러나 프리 롤 타이머 타이머를 설정하는 것은'prvSetupTimerInterrupt'에 달렸습니다. 저는 freeRTOS에서 어떤 함수도 호출하지 않았다고 언급 했으므로 어떻게 문제가 발생합니까? – fedi
'sprintf'를 호출하고 타이머 ISR을 브레이크 포인트하기 전에 while 루프를 배치하면 타이머가 작동을 멈춘다. – fedi