Отговори на тема  [ 10 мнения ] 
Borland 6 ++ Питане 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 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
Профил
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1026
Мнение Re: Borland 6 ++ Питане
Прочети това: https://en.wikipedia.org/wiki/Serial_port - доста неща ще ти станат ясни.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Вто Фев 23, 2016 10:11 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 5158
Мнение Re: Borland 6 ++ Питане
bengata какво се опитваш да направиш? Това по радиоканал ли ще се изпраща? Com порта се синхронизира на всеки байт, защото на всеки 8 бита слага поне по 2 сихронизиращи Старт и Стоп битове.

_________________
Warriors of the Night, ASSEMBLER!!!


Вто Фев 23, 2016 12:06 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Borland 6 ++ Питане
Да по радио канал ще се предава .
Нещо съвсем се обърках . Как трябва да се направи ?


Вто Фев 23, 2016 12:32 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Пон Дек 19, 2005 11:21 am
Мнения: 985
Мнение Re: Borland 6 ++ Питане
Структури/bit field?


Вто Фев 23, 2016 1:40 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Яну 30, 2016 5:05 pm
Мнения: 38
Мнение Re: Borland 6 ++ Питане
bit field не мога да намеря пример за буфер . Други идей


Вто Фев 23, 2016 3:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 3122
Местоположение: 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 5158
Мнение Re: Borland 6 ++ Питане
bengata най-добре е да дадеш цялата информация, а да не мълчиш като комунист на разпит.
Приемащото устройство твое ли е или е фабрично?
Със сериен порт имаш задължително старт и стоп бит, на всеки байт. 144 бита са 18 байта това означава, че реално ще предадеш 180 бита заедно със спиращите и стартиращите битове.
Освен това на сериен порт IDLE е в състояние 1 - това означава, че ако сложиш предавател от тези за под $1 с 2 транзистора и го свържеш с порта ще предаваш постояно на 433 и ще хабиш ненужна енергия и ще има опашка от хора да те бият.

_________________
Warriors of the Night, ASSEMBLER!!!


Вто Фев 23, 2016 9:07 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 9:32 pm
Мнения: 670
Мнение Re: Borland 6 ++ Питане
Впрочем, подобна (но не същата) поредица може да стане и през ComPort.
144 бита са 14 1/2 десетбитови (старт+8+стоп) бита. Последния байт трябва да е специален, за да завършва предаването му на половината (част от битовете му винаги ще са 1 - като стоповия).
Т.е. ако авторът може да прежали, че на всеки 10 бита два ще са винаги в едно и също състояние - може и да опита през UART.


Чет Мар 03, 2016 12:30 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 1753
Местоположение: Велико Търново
Мнение Re: Borland 6 ++ Питане
Нещо с бит банг както писаха, например да щракаш някой от пиновете RTR, DTR , RTS - мертеес


Чет Мар 17, 2016 10:03 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 10 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни