Автор |
Съобщение |
bengata
Ранг: Минаващ
Регистриран на: Съб Яну 30, 2016 5:05 pm Мнения: 38
|
Borland 6 ++ Питане
Налага се да изпращам по com порт данни с дължина 166 бита . Който са разделени на 26 бита синхронизация и 144 бита полезна информация За целта създавам буфер
char CharBuff1[ 3 ] = { 0xAA,0xAB,0xC4, } ;
Като в него са първите 26 бита като чар , но един чар е 8 бита . 3 чара по 8 бита са 24 бита . Увисват 2 бита .
Питането е имали начин ( поне аз не намерих и не знам как ) да изпращам бит по бит . Благодаря предварително .
|
Вто Фев 23, 2016 9:59 am |
|
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 8:39 pm Мнения: 1970
|
Re: Borland 6 ++ Питане
Прочети това: https://en.wikipedia.org/wiki/Serial_port - доста неща ще ти станат ясни.
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!
|
Вто Фев 23, 2016 10:11 am |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Borland 6 ++ Питане
bengata какво се опитваш да направиш? Това по радиоканал ли ще се изпраща? Com порта се синхронизира на всеки байт, защото на всеки 8 бита слага поне по 2 сихронизиращи Старт и Стоп битове.
_________________ Warriors of the Night, ASSEMBLER!!!
|
Вто Фев 23, 2016 12:06 pm |
|
|
bengata
Ранг: Минаващ
Регистриран на: Съб Яну 30, 2016 5:05 pm Мнения: 38
|
Re: Borland 6 ++ Питане
Да по радио канал ще се предава . Нещо съвсем се обърках . Как трябва да се направи ?
|
Вто Фев 23, 2016 12:32 pm |
|
|
radolin
Ранг: Форумен бог
Регистриран на: Пон Дек 19, 2005 11:21 am Мнения: 1029
|
Re: Borland 6 ++ Питане
Структури/bit field?
|
Вто Фев 23, 2016 1:40 pm |
|
|
bengata
Ранг: Минаващ
Регистриран на: Съб Яну 30, 2016 5:05 pm Мнения: 38
|
Re: Borland 6 ++ Питане
bit field не мога да намеря пример за буфер . Други идей
|
Вто Фев 23, 2016 3:47 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4194 Местоположение: Brussels / Пловдив
|
Re: Borland 6 ++ Питане
Това няма как да стане през сериен порт заради задължителните старт и стоп бит които са 0 и 1 - т.е. между всеки 5-6-7-8-9 бита ще има синхронизация която ще обърка данните. Един начин да се направи е да се ползва някакъв bit bang и през някое gpio - ако ще се предава от PC което е под Windows (или друг тежък OS) трудно може да се гарантира стабилна скорост на предаване и пак ще стане каша. С микроконтролер може и да стане. Това разбира се ако няма някаква синхронизация на по ниско ниво а се разчита само на тези166 бита.
@bengata прочети какво са synchronous и аsynchronous комуникация, протоколи и т.н. и ще започне да ти се изяснява, че още от първото изречение тръгваш в грешна посока - ком порта не праща произволен брой битове а данни които са от 5 до 9 бита.
_________________ Мразя да мразя ...
|
Вто Фев 23, 2016 6:18 pm |
|
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 8:59 pm Мнения: 6019 Местоположение: София
|
Re: Borland 6 ++ Питане
bengata най-добре е да дадеш цялата информация, а да не мълчиш като комунист на разпит. Приемащото устройство твое ли е или е фабрично? Със сериен порт имаш задължително старт и стоп бит, на всеки байт. 144 бита са 18 байта това означава, че реално ще предадеш 180 бита заедно със спиращите и стартиращите битове. Освен това на сериен порт IDLE е в състояние 1 - това означава, че ако сложиш предавател от тези за под $1 с 2 транзистора и го свържеш с порта ще предаваш постояно на 433 и ще хабиш ненужна енергия и ще има опашка от хора да те бият.
_________________ Warriors of the Night, ASSEMBLER!!!
|
Вто Фев 23, 2016 9:07 pm |
|
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 9:32 pm Мнения: 710
|
Re: Borland 6 ++ Питане
Впрочем, подобна (но не същата) поредица може да стане и през ComPort. 144 бита са 14 1/2 десетбитови (старт+8+стоп) бита. Последния байт трябва да е специален, за да завършва предаването му на половината (част от битовете му винаги ще са 1 - като стоповия). Т.е. ако авторът може да прежали, че на всеки 10 бита два ще са винаги в едно и също състояние - може и да опита през UART.
|
Чет Мар 03, 2016 12:30 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2586 Местоположение: Велико Търново / София
|
Re: Borland 6 ++ Питане
Нещо с бит банг както писаха, например да щракаш някой от пиновете RTR, DTR , RTS - мертеес
|
Чет Мар 17, 2016 10:03 pm |
|
|