Перейти к содержанию
    

Добавить своё поле в системную структуру

1 hour ago, jenya7 said:

тогда получается как то по уродски

используйте "неиспользованные" регистры типа DMA адреса, или CCR :) изменение которых на таймер не повлияет.

только это ещё более уродское решение.

1 hour ago, jenya7 said:

я пытаюсь сэкономить, у меня RAM кончается.

а сэкономленых 4 байта на таймер спасут отца русской демократии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, _pv said:

а сэкономленых 4 байта на таймер спасут отца русской демократии?

(4 байта указатель + 4 байта переменная ) * 10 таймеров это если делать по принципу Eddy_Em.

 if (TIMx == TIM6)
 else if (TIMx == TIM7)

я не хочу. все эти сравнения влияют на время исполнения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, jenya7 said:

(4 байта указатель + 4 байта переменная ) * 10 таймеров

Можно только переменную.

 

3 minutes ago, jenya7 said:

я не хочу. все эти сравнения влияют на время исполнения.

Что-то прямо все по краю: памяти нет, запаса по времени нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, aaarrr said:

Оставьте в RAM только val, например (константная структура с указателями).

Куда ОЗУ-то пропало? Просто такими методами экономии получите в результате нечто плохо поддающееся пониманию.

 

3 hours ago, aaarrr said:

Что-то прямо все по краю: памяти нет, запаса по времени нет.

сначала скрипты были пару десятков строк. но аппетиты у народа растут и они пишут скрипты на сотни строк. соответсвенно ОЗУ отжирается. там осталось всего на донышке.

я когда разрабатывал систему подошел к этому как то легкомысленно. поначалу ОЗУ было море, я как то не парился особо. потом начали расти аппетиты, давай сделаем такие примочки, давай сякие, вообщем стою на пороге смены камня.

 

запас по времени есть, но я пытаюсь сэкономить, опять таки - народ в скриптах грузит систему нипадетски я пытаюсь соптимизировать по скорости всё что можно.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 минут назад, jenya7 сказал:

(4 байта указатель + 4 байта переменная ) * 10 таймеров это если делать по принципу Eddy_Em.

Можно взять "принцип Eddy_Em" заменив 

uint32_t val;

на указатель на неё и расположить эту структуру во флешь.

Но как уже сказали: всё это - экономия на пуговицах.

 

30 минут назад, jenya7 сказал:

 if (TIMx == TIM6)
 else if (TIMx == TIM7)

я не хочу. все эти сравнения влияют на время исполнения.

А чем вас мой вариант не устроил? Он оптимальнее по времени исполнения (без лишних переходов).

30 минут назад, jenya7 сказал:

поначалу ОЗУ было море, я как то не парился особо.

Видимо это и есть главная причина. Как всегда. Сперва "не парилсо", а потом начинается экономия на пуговицах.  :unknw:

30 минут назад, jenya7 сказал:

запас по времени есть, но я пытаюсь сэкономить, опять таки - народ в скриптах грузит систему нипадетски я пытаюсь соптимизировать по скорости всё что можно.

Так не занимайтесь экономией на пуговицах, а переделывайте весь алгоритм работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...