Jump to content

    

AndyBR

Новичок
  • Content Count

    3
  • Joined

  • Last visited

Everything posted by AndyBR


  1. Здравствуйте, друзья. Передо мной стоит задача собрать даже не балансирующий робот, все гораздо проще. Необходимо создать устройство, которое отслеживает (по акселерометру) перемещение одного агрегата и перемещает другой агрегат так, чтобы их взаимное расположение не изменялось. Перемещение происходит по одной оси (вверх-вниз). Акселерометр ADXL330. Сразу же столкнулся с проблемой как программно организовать двойное интегрирование. А именно как избавиться от постоянной составляющей - ускорения свободного падения? Дифференцировать? Тогда необходимо еще одно интегрирование. Интегральные суммы очень быстро переполняются (использую 32 бит). Как правильно их надо обнулять? Может быть можно подсмотреть готовое решение? Спасибо.
  2. Это все объясняет! Действительно, когда срабатывает Break Point внутри задачи, SP = 0x0244. Этот адрес находится в середине кучи FreeRTOS. map-файл: .bss 0x00800162 0x5de Source\FreeRTOS\portable\heap_1.o Спасибо!
  3. Добрый день. ATmega128 + FreeRTOS V6.0.5 + WinAVR-20090313 + AVRStudio 4.18 + JTAG ICE Начинаю осваивать FreeRTOS. Создал задачу "мигания LEDом" - мигает. Но... Начинаю отладку, смотрю на регистр Stack Pointer. Сразу после старта все логично - указывает на конец внутренней SRAM (0x10FF). Однако после вызова vTaskStartScheduler() перескакивает на 0x270 - 0x2B0 (когда как). Что это: глюк отладчика или FreeRTOS???