реклама на сайте
подробности

 
 
> Необходима небольшая консультация...совет..., MSP430F169 + тонкости прерывания.
nicom
сообщение Feb 14 2008, 13:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 544
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 870



Предыстория:
Что есть: большой проект на 430F169. Работает, как генератор сигналов произвольной формы на внутренний ЦАП. Для достаточно сложных сигналов необходимо включить программную обработку сигналов... и вот тут столкнулся с необходимостью вылизывания временных затрат.

Программа работает через прерывание от таймера...

Написал тестовый цикл:

Метка:
Инкремент переменной.
(Переменная объявлена глобальной. )
GOTO метка


Приходящее (периодически) прерывание забирает текущее значение этой переменной и выдаёт ее в ЦАП. При этом должен изменяться уровень выходного напряжения. (на осциллографе должна быть видна пила (с пропуском некоторых значений - это пока не важно))...

Исходник на "С"...
Компилируем...
IAR, старенький...
Выключить оптимизацию совсем не могу - проект не влезает в 60кБайт кода (тестовый пример встроен в целый, имеющийся проект).

Смотрим результат компиляции "С" - АSM - овский текст ...

И видно, что компилятор убирает команды, находящиеся внутри цикла...
Так понимаю... компилятор считает: раз результат не идет дальше - "на-фиг" его получать... а то, что прерывание забирает эти данные - у него "ума" не хватает...

Собственно вопрос: как обойти эту тонкость, или как приручить компилятор...

Спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 06:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01337 секунд с 7
ELECTRONIX ©2004-2016