[an error occurred while processing this directive]
Ну, или кварц битый (частота ушла) ...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
vinogradov aleksei
23 марта 2006 г. 19:19
В ответ на:
Потому, что прерывание не попадает в интервал времени, в который вы принимаете символ ...
отправлено <font color=gray>vinogradov aleksei</font> 23 марта 2006 г. 19:19
Составить ответ
|||
Конференция
|||
Архив
Ответы
Попродробнее обьясните, пожалуйста? Куда не попадает прерывание? Непонятно.
—
aravil
(23.03.2006 19:22
194.85.224.35
,
пустое
)
Прерывание происходит в то время, когда вы принимаете байт с клавы, и МК отвлекается на него ...
—
vinogradov aleksei
(23.03.2006 19:23
195.5.37.132
,
пустое
)
Дык у меня 8 МГц, неужели МК не успевает обработать приход бита от клавы до следующего???
—
aravil
(23.03.2006 19:25
194.85.224.35
,
пустое
)
Да !!! С этого и надо было начинать дискуссию ...
—
vinogradov aleksei
(23.03.2006 19:27
195.5.37.132
,
пустое
)
Извините, это в корне меняет дело?
—
aravil
(23.03.2006 19:28
194.85.224.35
,
пустое
)
Ну, кунечно, в корне (+)
—
vinogradov aleksei
(23.03.2006 19:32
195.5.37.132
, 177 байт)
Посмотрите, пожалуйста, на мой (Атмеловский на самом деле) обработчик.
—
aravil
(23.03.2006 19:37
194.85.224.35
, 1017 байт)
Сорри, код разбирать некогда (+)
—
vinogradov aleksei
(23.03.2006 19:39
195.5.37.132
, 109 байт)
Все равно спасибо. Завтра попробую выводить скан код не на ЖК, а на светодиоды.
—
aravil
(23.03.2006 19:42
194.85.224.35
,
пустое
)
грабли скорее всего из-за того, что прерывания запрещены на время вывода в ЖКИ, а это IIRC десятки микросекунд, что сравнимо или больше времени, отведенного на чтение бита от клавиатуры
—
радиолюбитель без лицензии
(23.03.2006 19:46
213.154.220.39
,
пустое
)
May be. Но проблема все равно в прерываниях ...
—
vinogradov aleksei
(23.03.2006 19:49
195.5.37.132
,
пустое
)
Тоже так думаю, поэтому считывал в буфер и лишь потом выводил. Теперь попробую со светодиодами.
—
aravil
(23.03.2006 19:49
194.85.224.35
,
пустое
)
алгоритм смотреть нужно. Прерывания запрещать по минимуму - только там, где это совершенно необходимо.
—
радиолюбитель без лицензии
(23.03.2006 19:48
213.154.220.39
,
пустое
)
Удачи :)
—
vinogradov aleksei
(23.03.2006 19:43
195.5.37.132
,
пустое
)
Однако вот что удивительно. В 19 случаях из 20 происходит одно и тоже:
—
aravil
(23.03.2006 19:58
194.85.224.35
, 360 байт)
Стек не переполняется ? Одни переменные не затирают другие ?
—
vinogradov aleksei
(23.03.2006 20:13
195.5.37.132
,
пустое
)
А как это узнать? И как этого избежать? Уменьшить размер буффера? Я думал что компилятор должен об этом предупреждать...
—
aravil
(23.03.2006 20:26
194.85.224.35
,
пустое
)
Не должен (+)
—
vinogradov aleksei
(23.03.2006 20:31
195.5.37.132
, 66 байт)
Соответствие типов уже проверял. Попробую буфер уменьшить.
—
aravil
(24.03.2006 12:36
194.85.224.35
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru