Через 20 лет после начала программирования я понял, что я не программист. Нужна идеологическая помощь
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено BlackJack 02 июля 2003 г. 22:55

Споткнулся я на написании юзерского интерфейса. После очередного "небольшого" изменения логики работы.
Для определенности можно грубо считать ЭТО централизованной системой управления лифтами.

Пораскинув мозгами я решил, что система имеет всего-навсего 10-15 состояний. Поэтому можно логику задать матрицей переходов.
Столбец событий на входе, строка реакций системы на выходе.
Со столбцом событий все просто, можно получить обычным

case:
key1
key2...

А вот как быть со строкой реакций на события?
Там нужно бы положить адреса переходов на обработчики событий, подобно таблице векторов прерываний. Но здесь я уперся в слабое знание языка.
1.Если обработчики -это функции, то нужно на стадии компиляции или линковки получить их адреса.
Как это сделать на С? (в IAR для авр)
2. Как положить таблицу по нужному (или хотя бы известному) адресу?
3. Как объявить указатели на эти функции и как вызвать функцию (или переход)по адресу, опять-таки в С?

И вообще сами мы не местные, а документы украли, поможите люди добрые.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru