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