Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Согласен.
Отправлено
ВВ
(95.27.165.171)
08 января 2010, г. 12:46
В ответ на:
"Введите бит TIimage=1".
отправлено
VasilyS
08 января 2010, г. 12:44
Составить ответ
|
Вернуться на конференцию
Ответы
Давайте ближе к реалиям. Вот тестовый исходник. Всё работает, но без "принтф"
-
Радиогубитель
(08.01.2010, 13:32:53
208.87.243.66
, 626 байт)
Конечно может повиснуть. Где у вас сброс ТI0 (нужна в прерывании ветка else)? Сделайте принцип точно так, как вам сказал BB. Только его дополнительный бит сделайте volatile и присвойте изначально = 1. И - printf запоёт. Я б для острастки перед каждым printf делал Tiimage=1.
-
VasilyS
(08.01.2010, 15:41:16
80.92.96.25
,
пустое
)
Какой такой TI0 - я его нигде не использую (я ж передачу без прерываний делаю, через printf)
-
ZoltriX
(08.01.2010, 16:22:27
97.74.144.88
,
пустое
)
Этот TI0 я нигде не устанавлюю, чё я его сбрасывать должен??
-
ZoltriX
(08.01.2010, 16:23:16
97.74.144.88
,
пустое
)
О майн гот! Ви собираетесь использовать printf или нет? :-)
-
VasilyS
(08.01.2010, 16:28:6
80.92.96.25
,
пустое
)
Установка TI0 - как неконтролируемая эрекция. Только встает он после извержения байта. И завалит вашу программу в прерывание, ведь оно разрешено по (RI0 || TI0). Вот такая несправедливость.
-
VasilyS
(08.01.2010, 16:35:48
80.92.96.25
,
пустое
)
Нихрена не понял. ВВ посоветовал, но putchar я не использую
-
Радиогубитель
(08.01.2010, 17:48:4
208.87.243.66
, 529 байт)
putchar - это функция, вызываемая из принтф. Она является функцией "нижнего уровня", где собственно и происходит физический вывода символа. Как правило, она изначально "заточена" на вывод через UART. Но если программист напишет свою функцию с тем же именем путчар, то она автоматически подменит оригинальную, компиляторную. Там можно выводить символы не в UART, а например на ЖКИ.
-
VasilyS
(08.01.2010, 17:59:7
80.92.96.25
,
пустое
)
Выводится только одна буква "J", приём вообще перестал работать
-
Радиогубитель
(08.01.2010, 18:21:37
208.87.243.66
, 174 байт)
Ну что же вы, Иглесиас... Я вам говорю: сделайте в прерывании ветку else if для TIO. Нет, вы просто if поставили. ВВ вам говорит, в прерывании по TIO сбросьте TIO и сделайте TIimage=1. Тоже не сделали. И почему вы объявили CHAR TIimage, а не битTIimage? Это разные вещи.
-
VasilyS
(08.01.2010, 18:32:49
80.92.96.25
,
пустое
)
Работает!! Но есть неприятный глюк (ньюанс). Как его объяснить?
-
Радиогубитель
(08.01.2010, 20:12:35
208.87.243.66
, 733 байт)
Данные не пропадают! Просто Ваш алгоритм кривой.(+)
-
ВВ
(08.01.2010, 23:30:22
95.26.104.124
, 635 байт)
У кого есть идеи почему так происходит??
-
Радиогубитель
(08.01.2010, 21:05:32
208.87.243.66
,
пустое
)
Потому что вся идея построения программы через задницу. Не успевает обработать символ до прихода следующего
-
1111111
(08.01.2010, 23:29:36
95.133.106.198
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 69:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru