реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> подскажите по uart
arttab
сообщение Aug 22 2005, 01:31
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Извините если что то упустил, но.. Но если есть сетка с одним мастером, то он должен опрашивать все ведомые и дожидаться ответа от опрашиваемого. В случае не ответа в течении определенного времени, предпринемать необходимые действия. Иначе получается широковещательная передача без потверждения приема. Тогда можно использовать таймер после опустошения буфера и ждать ответа или истечения времени на ответ.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
KaeMZer
сообщение Aug 22 2005, 15:25
Сообщение #17





Группа: Новичок
Сообщений: 8
Регистрация: 11-08-05
Из: Minsk, Belarus
Пользователь №: 7 563



подскажите по uart

подскажите пожалуйста, какие уровни соответствуют логической 1 и 0 на выводах UART в MSP430.
Go to the top of the page
 
+Quote Post
VAI
сообщение Aug 23 2005, 04:09
Сообщение #18


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



лог.1 близка к питанию, лог.0 - к 0(Vss)
Более подробно на стр.27 документа slas272f.pdf для msp430x13x-14x-14x1.
Если Вы имеете ввиду логическое соответствие битов числа, загруженого в UxTXBUF напряжениям на выходе, то бит 1 соответствует лог.1 на выходе.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
aal
сообщение Aug 23 2005, 06:20
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 20-10-04
Из: Новосибирская обл, п.Краснообск.
Пользователь №: 916



По RS485: что мешает принимать передоваемое и для контроля верноти пакета и для контроля его конца. Я так и сделал. Передавал текстом с 0х00 в конце.


--------------------
_____________________________________
Пароли неприемлемы, легко взламываются терморектальным криптоанализатором.
Go to the top of the page
 
+Quote Post
KaeMZer
сообщение Aug 23 2005, 10:54
Сообщение #20





Группа: Новичок
Сообщений: 8
Регистрация: 11-08-05
Из: Minsk, Belarus
Пользователь №: 7 563



VAI, спасибо. никак не мог найти.
Go to the top of the page
 
+Quote Post
Dimka84
сообщение Aug 23 2005, 22:58
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-08-05
Пользователь №: 7 898



Может ежли не секрет скажешь на каком форуме. Аналогичную задачку решаю.
Go to the top of the page
 
+Quote Post
Dimka84
сообщение Aug 23 2005, 23:02
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-08-05
Пользователь №: 7 898



Цитата(KaeMZer @ Aug 22 2005, 04:21)
Пытаюсь реализовать обмен данными контроллера MSP430F133 и PC по COM-порту. Сейчас на другом форуме разбираемся с проблемами, связанными с программой, выполняющейся на компе (там разберусь и сюда переберусьsmile.gif).

Так вот, задали мне там вопрос вроде простой, а на самом деле коварный (ответа я не знаю sad.gif) -  программный или аппаратный модуль UART в контроллере? Что скажете?
*

Может ежли не секрет скажешь на каком форуме. Аналогичную задачку решаю.
Go to the top of the page
 
+Quote Post
KaeMZer
сообщение Aug 23 2005, 23:28
Сообщение #23





Группа: Новичок
Сообщений: 8
Регистрация: 11-08-05
Из: Minsk, Belarus
Пользователь №: 7 563



не секрет - http://forum.sources.ru/
Go to the top of the page
 
+Quote Post
KaeMZer
сообщение Aug 23 2005, 23:36
Сообщение #24





Группа: Новичок
Сообщений: 8
Регистрация: 11-08-05
Из: Minsk, Belarus
Пользователь №: 7 563



Цитата(Dimka84 @ Aug 24 2005, 02:02)
Может ежли не секрет скажешь на каком форуме. Аналогичную задачку решаю.
*


а что за задачка? и как успехи?
Go to the top of the page
 
+Quote Post
Dimka84
сообщение Aug 24 2005, 08:45
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-08-05
Пользователь №: 7 898



Цитата(KaeMZer @ Aug 24 2005, 03:36)
а что за задачка? и как успехи?
*

14 устройств на линии. PC - мастер. Со стороны PC прогу для работы с COM нормально написать не могу. Приём пришлось делать отдельным потоком.
Кто-нибудь ReadFileEx использовал?
p.s. Могу дать свой код MSP430f1xx UART
И прогу для отладки приёма-передачи со стороны PC
Go to the top of the page
 
+Quote Post
KaeMZer
сообщение Aug 24 2005, 11:50
Сообщение #26





Группа: Новичок
Сообщений: 8
Регистрация: 11-08-05
Из: Minsk, Belarus
Пользователь №: 7 563



Цитата
Со стороны PC прогу для работы с COM нормально написать не могу.


в чём проблема заключается? не получется работа именно с com-портом на РС или уже не идёт совместная работа с контроллером?

можно попробовать посмотреть исходники.

кстати, я ОЧЕНЬ много времени потратил на программную часть (вроде всё просто - у меня пока только учебная задача - байт отослать на контроллер, байт от него принять - а не получалось никак). проблема оказалась в железе - преобразователь уровня выдавал "левый" по уровню сигнал. так что рекомендую глянуть напряжение на ножках. сейчас вот переделываю.


ЗЫ. я чайник в этих делах пока что. smile.gif
Go to the top of the page
 
+Quote Post
Dimka84
сообщение Aug 24 2005, 12:06
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-08-05
Пользователь №: 7 898



Основная проблема, это COM. А именно приём. Я обращаюсь к ReadFile и делаю выход по таймауту. Но прога много процессорного времени жрёт.
Go to the top of the page
 
+Quote Post
KaeMZer
сообщение Aug 24 2005, 12:33
Сообщение #28





Группа: Новичок
Сообщений: 8
Регистрация: 11-08-05
Из: Minsk, Belarus
Пользователь №: 7 563



мне видится вот какое решение:
создать отдельный поток для чтения, в этом потоке настроить маску отслеживаемых событий так, чтобы отслеживалось событие - приём байта в буфер (см. SetCommMask). затем вызываем функцию ожидания события WaitCommEvent и поток (только он, а не вся программа) тормозится до прихода байта в буфер. ну а потом уже вызываем ReadFile, которая и прочитает пришедший байт. Разница будет в том, что процессорное время мы не занимали.

более подробно это всё описано в статье Олега Титова "Работа с коммуникационными портами (COM и LPT) в программах для Win32." (я по сути лишь кратко пересказал содержание smile.gif )
Раньше статья была по адресу http://www.rs232.ru/doc002.html но теперь эта ссылка вроде не работает. Поищите в Интернете, её часто цитируют.
Go to the top of the page
 
+Quote Post
Dimka84
сообщение Aug 24 2005, 14:40
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-08-05
Пользователь №: 7 898



Наверное так и придётся делать.
Статья есть здесь: http://morgeyz.narod.ru/comlpt.htm
Сейчас почитаю.
Go to the top of the page
 
+Quote Post
vvvvv
сообщение Aug 24 2005, 20:56
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-06-04
Пользователь №: 85



Все это ботва, ребята, на самом деле WaitCommEvent нормально не пашет, он собака пропускает символы через раз. А если плотно на
ComPort сесть, то он подвешивает всю Вашу программу. Выход я нашел такой:
1.Программа плотно садится на Comport. Самое главное символы не теряются.
2. Естественно программы чтения записи в Com сразу поместить в отдельный поток. Подвешиваться будет он, а не вся Ваша графика
3. Настроить таймеры в головной программе так, чтобы через
какое то время через AFXThrowException выдергивать Com из ожидания символа. Тогда во всяком случае головная программа будет знать, что вот мол символ не пришел скажем через 10 сек. И далее пойдет на обработку этого события по алгоритму.
Вообщем там все очень нетривиально...
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01474 секунд с 7
ELECTRONIX ©2004-2016