Виж темите без отговор | Виж активните теми
Дата и час: Съб Апр 20, 2024 11:42 am
Коя е минималната скорост на SerialPort на PC?
Автор |
Съобщение |
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Коя е минималната скорост на SerialPort на PC?
Коя е минималната скорост на SerialPort на PC? Някой знае ли къде да прочета за ограниченията? Като програмирам да бъде под 200 бода се установява скоростта по подразбиране за порта (примерно 115200) (В Serial port си пише колкото съм задал, но реалните импулси са къси ) Как да му се чудя?
|
Пет Яну 08, 2016 2:55 pm |
|
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 8:39 pm Мнения: 1971
|
Re: Коя е минималната скорост на SerialPort на PC?
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!
|
Пет Яну 08, 2016 3:03 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Коя е минималната скорост на SerialPort на PC?
Тоя документ е за някакви други PC-та по-старички. Нямам проблем да сложа 2 000 000 бода, а според тая документация повече от 115 200 е невъзможно.
|
Пет Яну 08, 2016 3:28 pm |
|
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 8:39 pm Мнения: 1971
|
Re: Коя е минималната скорост на SerialPort на PC?
Доколкото знам на стандартния rs-232 на pc-то без значение колко е старо часовникът е един. Ако става въпрос за разни високоскоростни платки, usb<->rs232 и .т.н е друго - четеш им документацията.
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!
|
Пет Яну 08, 2016 3:57 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Коя е минималната скорост на SerialPort на PC?
Под Win, освен оня таймер на 18ms, е достъпен и прецизен таймер, който знае тиковете на процесора и може да ги превръща в us. Но дори това не е толкова важно. Явно, не мога да намеря кое да прочета - в последните години не ми се е налагало да чета описанията на чиповете, има си Win API за всичко . Но тоя път не става . Дори DCB, в което има скорост 110 б/с не се справя с тоя проблем DCB: Defines the control setting for a serial communications device
|
Пет Яну 08, 2016 4:13 pm |
|
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 5:26 pm Мнения: 1628 Местоположение: Сливен
|
Re: Коя е минималната скорост на SerialPort на PC?
Е хипер терминалът си бачка на 110 бода / това е минимума според мен/
//едно време телетайпите работеха с тая скорост!
|
Пет Яну 08, 2016 4:31 pm |
|
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 8:39 pm Мнения: 1971
|
Re: Коя е минималната скорост на SerialPort на PC?
Във sdk-то дето го имам на компа е дефиниран минимален CBR_110. Теоретично минималното може да се сметне като: 1843200 / (16 * 65536) .
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!
|
Пет Яну 08, 2016 4:55 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Коя е минималната скорост на SerialPort на PC?
Както каза syscop, вероятно е така за апаратните RS-232. Но при инициализация на USB-UART на скорост под 184 б/с WinAPI не се оплаква,в съответното поле си пише каквото сме записали, UART работи (изпраща, получава), но не на скоростта, на която сме задали. И не виждам как с Win API средства да определя ограниченията. И поне 15 минути търсих с гугъла.
Както и да е - просто бях решил, че това е най-лесния начин да пусна импулси по няколко стотин мс за една проба. Оказа се, че максимумът, който успех да постигна, е към 50мс (байт 0, на скорост 184 б/с).
|
Пет Яну 08, 2016 5:44 pm |
|
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 8:39 pm Мнения: 1971
|
Re: Коя е минималната скорост на SerialPort на PC?
По-горе написах - чети документацията(ако има). Ти комуникираш с драйвера, не с желязото, следователно трябва да знаеш как да си поискаш скоростта, която ти трябва. Възможно е през win api да не можеш да постигнеш това, което искаш. Преди години писах комуникация за едни високоскоростни платки, та там бяха направили клока по-голям, съответно като искаш малка скорост - няма, иначе на 921600 бяха "пушка".
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!
|
Пет Яну 08, 2016 5:56 pm |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Коя е минималната скорост на SerialPort на PC?
Не чети документацията ами ръгни осцилоскоп и тествай. Повечето имат генератор на фиксирана честота и 16 битов делител. А някой имат FLL https://en.wikipedia.org/wiki/Frequency-locked_loop и за всеки чип/чипсет си е различно. Импусли можеш да генерираш и с платки като ардуино или мсп430 лаунчпад.
_________________ Warriors of the Night, ASSEMBLER!!!
|
Пет Яну 08, 2016 6:05 pm |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10369 Местоположение: Добрич
|
Re: Коя е минималната скорост на SerialPort на PC?
Няма да се оплачи, щото не съм видял нито един USB стек да проверява какво му даваш... По стандарт баудрейта се подава като първите 4 байта в SET_LINE_CODING request-а. Демек всяка 32-битова стойност е ОК. Дори устройството да не я харесва няма голям избор освен просто да я игнорира. Последното може да го провериш като get-неш и видиш каква е стойността. Бозата обаче има проблем когато някое устройство докладва нереално високи баудрейтове или други стойности - имах такова бъгче. Бях забравил да си инициализирам променливите и бозата като прочете някоя странна стойност и се отвяваше Това обаче не важи за устройства с FTDI... Те НЕ са стандартни и нямам идея как се държат.
|
Пет Яну 08, 2016 6:43 pm |
|
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 10:31 pm Мнения: 9645
|
Re: Коя е минималната скорост на SerialPort на PC?
това често важи и за писачите на API-та. налага се една тенденция в мисленето на мекуеристите, че няма нужда да знаят какво е бит в няко регистър. ако серийната порта е на USB- виж документа за чипа, макар че няма гаранция дали драйвер, апи-то или десетките wrap-ери по етажите няма да омажат нещо.
|
Пет Яну 08, 2016 6:47 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3074
|
Re: Коя е минималната скорост на SerialPort на PC?
Имаш си таймери, имаш функции за управление на модемните сигнали, защо се занимаваш с баудрейта?
|
Пет Яну 08, 2016 6:59 pm |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Коя е минималната скорост на SerialPort на PC?
Ама нямаш, точност. На буфера можеш да му зададеш 1МБ данни и ще ги изпрати. А като мандаш ръчно сигналите, ако се случи на тасксуич ето ти забавяне от 15мс, ако се случи пейджинг ето ти 1000мс - тоест генерираш някакви сигнали, но не се знае какви точно.
_________________ Warriors of the Night, ASSEMBLER!!!
|
Пет Яну 08, 2016 7:06 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3074
|
Re: Коя е минималната скорост на SerialPort на PC?
Не съм си играл под Вин , та няма да твърдя, че бъркаш. Все пак имам някои съмнения- -ако е на УСБ, трябва да се гарантира, че драйверът поддържа правилния режим на работа. - виждал съм на Сименс драйвер за XP, за Модбъс - РТУ, би трябвало да отчита времена от сорта на под 1 милисекунда. Тоест някъде надълбоко има и по-прецизни таймери, необременени от таскинга и пейджинга.
|
Пет Яну 08, 2016 7:18 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|