А нельзя использовать указатели на функции? (-)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Анатоль
21 июня 2004 г. 17:56
В ответ на:
Использование Си для AVR. Вопрос (+)
отправлено Doom 21 июня 2004 г. 16:49
Составить ответ
|||
Конференция
|||
Архив
Ответы
Вообщем можно, но причём здесь автомат ?
—
miv
(21.06.2004 18:00, 96 байт)
Вместо оператора switch можно использовать таблицу указателей функций.
—
Bill
(21.06.2004 18:09, 132 байт)
Такая команда зовется в AVR ijmp,также есть icall.
—
_Aquarius_
(21.06.2004 18:16,
пустое
)
Ой и правда ! :-(
—
miv
(21.06.2004 18:21,
пустое
)
Так в ряде компиляторов именно таблица для switch и генерируется (c определенного числа входов case).
—
Щ.С.
(21.06.2004 18:16,
пустое
)
Вот, вот. Это число для IAR меня и интересует.
—
Bill
(21.06.2004 18:23,
пустое
)
Дык ето понятно см. мессагу Только сирано ета таблица суть команда JMP что жрёт место ! Вот если бы у AVR команда перехода по содержимому регистра (как у TMS по аккум) была тада да есть смысл.
—
miv
(21.06.2004 18:13,
пустое
)
Команды ijmp и icall: переход или вызов подпрограммы по содержимому Z-регистра.
—
Bill
(21.06.2004 18:21,
пустое
)
Как бы да уже видел ! Только во вопрос сколько тактов всё ето кушать будет ! Продолжение снизу ! Я проверял при максимальной оптимизации по скорости !
—
miv
(21.06.2004 18:23,
пустое
)
ijmp - 2 цикла, icall - 3 или 4 (в завимости от разрядности PC).
—
Bill
(21.06.2004 18:29,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru