Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
а нафигасе проверка if(i++==10000)?! чего это такое ваще, для чего?! байт в регистр > прерывание > байт в регистр > и т.д.
Отправлено
eXeC001er
13 июня 2007 г. 20:36
В ответ на:
мозг оплавился уже не работает прога почему ?
отправлено whale 13 июня 2007 г. 20:18
Составить ответ
|
Вернуться на конференцию
Ответы
чтоб промежуток сделать между посылками
—
whale
(13.06.2007 20:39:30
193.232.202.9
,
пустое
)
а нафига UDRIE0 = 0 и потом UDRIE0 = 1. это все автоматом делается.
—
eXeC001er
(13.06.2007 20:41:12
83.239.13.202
,
пустое
)
а как вывести тогда скажем 10 байт подряд ?
—
whale
(13.06.2007 20:43:26
193.232.202.9
,
пустое
)
дык просто - в прерывании по udre пиши в udr следующий байт, пока все 10 не отправишь.
—
pau62
(13.06.2007 20:45:40
212.26.243.68
,
пустое
)
что значит как?! суете вначале байт в регистр UDR, он отправляется и происходит прерывание в котором вы толкаете в этот же UDR байты из буфера передачи.
—
eXeC001er
(13.06.2007 20:45:7
83.239.13.202
,
пустое
)
а потом когда все 10 затолкаю просто не толкать и все ?
—
whale
(13.06.2007 20:46:51
193.232.202.9
,
пустое
)
байты толкаешь индекс буфера уменьшаешь, как понял по индексу что "все-1", то в прерывании толкаешь последний байт и запрешаешь это прервание и все.
—
eXeC001er
(13.06.2007 20:51:38
83.239.13.202
,
пустое
)
так вот я и запрещал прерывание UDRIE0 = 0 а как еще ?
—
whale
(13.06.2007 20:58:23
193.232.202.9
,
пустое
)
дык запрещать в конце посылки а не каждый раз. послежовательно такая: разрешаешь прерывание по пустоте регистра, суеше байт в регистр, в прерывании суешь в регистр из буфера, по последнему байт суешь его в регист и отклчаешь прерывание. для контроля передачи ждешь флат "передача окончена" TX Complete (TXC)
—
eXeC001er
(13.06.2007 21:03:19
83.239.13.202
,
пустое
)
у меня посылка то была из двух байт ;)
—
whale
(13.06.2007 21:06:14
193.232.202.9
,
пустое
)
так каким регистром прерывание запрещать по uart0 ?
—
whale
(13.06.2007 21:04:30
193.232.202.9
,
пустое
)
какаято проблемма у меня была с этим поэтому и пытался прерывания запретить
—
whale
(13.06.2007 20:48:9
193.232.202.9
, 26 байт)
if ((i++) > 10000)
—
=L.A.=
(13.06.2007 20:38:9
213.134.214.10
,
пустое
)
Ага, проверки на == - чреваты для торопыг. и не только для них.
—
pau62
(13.06.2007 20:40:51
212.26.243.68
,
пустое
)
упс ... по неизвестной причине начинает работать при вкл/выкл питания
—
whale
(13.06.2007 20:45:8
193.232.202.9
,
пустое
)
а если сделать ресет без выключния питания то виснет
—
whale
(13.06.2007 20:45:54
193.232.202.9
,
пустое
)
Ни у кого никаких мыслей нет ?
—
whale
(13.06.2007 21:12:26
193.232.202.9
, 53 байт)
тут выяснилось что если делать ресет через понипрог то потом не пашет а
—
whale
(13.06.2007 21:23:10
193.232.202.9
, 65 байт)
есть. напиши руками, отладь головой. В этой ситуации прерывние по RXC логичней, его и запрещать не надо. А если тебя ломает запустить симулятор для своего щастья, то меня для твоего- тем более.
—
pau62
(13.06.2007 21:19:12
212.26.247.79
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru