Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Выполнять действие каждый второй вход в прерывание.
Отправлено
Dikoy
07 мая 2009, г. 16:43
Требуется каждый второй вход в прерывание выполнять действие.
Нужно наксимально компактизировать код, по понятным причинам. Вот что я выдумал, выношу на суд.
unsigned char int_trigger = 0;
__interrupt void Timer0_ovf_isr(void) {
if( int_trigger ) {
.....
}
int_trigger = !int_trigger;
}
Компилятор IAR 4,30. Может можно ещё компактнее сделать?
Составить ответ
|
Вернуться на конференцию.
Ответы
int_trigger = 0; if(~int_trigger){}
-
Codavr
(07.05.2009, 23:02:36
78.107.125.64
,
пустое
)
int_trigger = 0 один раз при инициализацци естетно.
-
Codavr
(07.05.2009, 23:04:9
78.107.125.64
,
пустое
)
А строчка int_trigger = !int_trigger; корректно будет работать? Я так понимаю, int_trigger будет принимать 00 и FF?
-
Dikoy
(07.05.2009, 18:04:36
10.210.34.80,83.149.43.18
,
пустое
)
00 и 01
-
VasilyS
(07.05.2009, 20:24:39
80.92.96.25
,
пустое
)
а если так макс приближено к командам асм для авр?
-
MARS
(07.05.2009, 17:03:27
212.40.41.26
, 64 байт)
Я бы тоже так, только if( ++count & 0x01) - код короче, а счётчик вхождений яасто ещё где-то пригождается.
-
ReAl
(08.05.2009, 11:25:1
89.162.152.53
,
пустое
)
А что короче, INC или инвертирование?
-
Dikoy
(07.05.2009, 17:28:22
10.210.34.80,83.149.43.18
,
пустое
)
Ctrl-D нажать религия не позволяет?
-
Trashy
(07.05.2009, 17:39:3
192.168.2.80,213.167.60.22
,
пустое
)
Никакой разницы. Даже на 2 команды длиннее...
-
Dikoy
(07.05.2009, 18:02:27
10.210.34.80,83.149.43.18
,
пустое
)
так?
-
bender3
(07.05.2009, 16:53:41
192.168.0.79,212.12.2.70
, 166 байт)
Выглядит, конечно, короче :-)
-
Polosatbli
(07.05.2009, 17:01:8
195.239.152.142
,
пустое
)
Тока присвоить надо будет идиницу
-
Trashy
(07.05.2009, 16:59:27
192.168.2.80,213.167.60.22
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 89:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru