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