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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Вопрос по формату кадра UART в ATmega-х, Может быть одновременно и Bit8 и P
Дон Амброзио
сообщение Mar 19 2008, 15:13
Сообщение #1


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Тут с одним поспорили. Он говорит, что по даташифту в кадре UART не может быть более 9 бит. Я же говорю, что может быть 10 (имеется ввиду информационных бит, а не служебных). А он говорит, что нельзя использовать в кадре сразу и Bit8 и бит чётности - P. А я говорю, что можно. Кто прав?

ST + Bit0 + Bit1 + Bit2 + Bit3 + Bit4 + Bit5 + Bit6 + Bit7 + Bit8 + P + SP1 + SP2


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Mar 19 2008, 16:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(Дон Амброзио @ Mar 19 2008, 18:13) *
Тут с одним поспорили. Он говорит, что по даташифту в кадре UART не может быть более 9 бит. Я же говорю, что может быть 10 (имеется ввиду информационных бит, а не служебных). А он говорит, что нельзя использовать в кадре сразу и Bit8 и бит чётности - P. А я говорю, что можно. Кто прав?

ST + Bit0 + Bit1 + Bit2 + Bit3 + Bit4 + Bit5 + Bit6 + Bit7 + Bit8 + P + SP1 + SP2

Ну а что вам мешает прошить мегу нужным кодом и пощупать осцилографом, что же она все-таки шлет?
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 19 2008, 16:58
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(Aesthete Animus @ Mar 19 2008, 19:25) *
Ну а что вам мешает прошить мегу нужным кодом и пощупать осцилографом, что же она все-таки шлет?

Прошил... Уже лет 5 юзаю формат какой я описал выше.... Только может в новых Мегах чё изменилось про которые я пока не в курсе? Как например я не знал, что в новых можно пины инвертировать одной командой out PinX, Maska


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 19 2008, 18:39
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



В ATMega полный USART, в отличие от 89с51
Цитата
• Supports Serial Frames with 5, 6, 7, 8, or 9 Databits and 1 or 2 Stop Bits
• Odd or Even Parity Generation and Parity Check Supported by Hardware


В at90s8515 был несколько урезанный. В результате для формирования 7 битной передачи пришлось городить огород.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 19 2008, 21:54
Сообщение #5


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Бит паритета, кстати, это не информационный, а служебный бит.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 19 2008, 22:06
Сообщение #6


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(=GM= @ Mar 20 2008, 00:54) *
Бит паритета, кстати, это не информационный, а служебный бит.

Им и инфу можно передавать меняя нужным образом функцию с "бит чётности" на "бит нечётности" и наоборот


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 19 2008, 23:08
Сообщение #7


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Дон Амброзио @ Mar 19 2008, 22:06) *
Им и инфу можно передавать меняя нужным образом функцию с "бит чётности" на "бит нечётности" и наоборот

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

Кстати уж, откуда вы извлекаете бит паритета на приёмной стороне?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 20 2008, 07:08
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Дон Амброзио @ Mar 20 2008, 02:06) *
Им и инфу можно передавать меняя нужным образом функцию с "бит чётности" на "бит нечётности" и наоборот

Можно, док. Так и делают люди, желающие секса.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 20 2008, 07:36
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ Mar 20 2008, 10:08) *
Так и делают люди, желающие секса.

Ну иногда и не желающие оного, например, для отметки этим девятым битом начал фреймов для простейших микроскопических протоколов, когда SLIPообразные тяжеловаты для перифериных контроллеров а то и вообще чистых железок.
Цитата(=GM= @ Mar 20 2008, 02:08) *
..поскольку бит паритета формируется Исключающим ИЛИ из передаваемых бит данных, следовательно, не является независимой величиной.

Обычно можно перепрограммировать контроллер и для передачи/приема фиксированного бита четности (mark/space).


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 20 2008, 07:39
Сообщение #10


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(=GM= @ Mar 20 2008, 02:08) *
Нельзя так передавать, поскольку бит паритета формируется Исключающим ИЛИ из передаваемых бит данных, следовательно, не является независимой величиной.

В нормальных контроллерах можно варьировать функцию этого бита:
можно генерить как бит чётности, так и бит нечётности - т.е. можно сформировать любое требуемое Вам значение. Хотя конечно при формировании и выборе функции чётность/нечётность разумеется следует учитывать значения всех остальных бит байта


Цитата(=GM= @ Mar 20 2008, 02:08) *
Кстати уж, откуда вы извлекаете бит паритета на приёмной стороне?

Из флага ошибки чётности


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 20 2008, 07:48
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Mar 20 2008, 11:36) *
Ну иногда и не желающие оного, например, для отметки этим девятым битом начал фреймов для простейших микроскопических протоколов...

Не знаю-не знаю. Есть стандартные символы STX, ETX, ETB, ENQ... В трех десятках протоколов с которыми мне приходилось разбираться, никто иначе не делал.
Кстати, применение этих символов регламентируется ENxxxxx, низзя Вам нарушать. smile.gif
"Мне - можно" biggrin.gif Но я так никогда не буду делать.
Да и потеря быстродействия может быть критична.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 20 2008, 08:05
Сообщение #12


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(Dog Pawlowa @ Mar 20 2008, 10:48) *
Да и потеря быстродействия может быть критична.

Уважаемая "Собака Павлова"!!!!
Потеря быстродействия в Вашем случае несравнимо больше, поскольку Вы передаёте данные в ASCII-формате, а я в бинарном


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 20 2008, 08:33
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Дон Амброзио @ Mar 20 2008, 12:05) *
Уважаемая "Собака Павлова"!!!!
Потеря быстродействия в Вашем случае несравнимо больше, поскольку Вы передаёте данные в ASCII-формате, а я в бинарном

Доктор,
я то знаю, что Вам больше нечего делать, как людей на флейм разводить.
Я поработаю, а Вы подумайте о том, что есть быстродействие, и ... быстродействие.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 20 2008, 08:40
Сообщение #14


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(Dog Pawlowa @ Mar 20 2008, 11:33) *
Доктор,
я то знаю, что Вам больше нечего делать, как людей на флейм разводить.
Я поработаю, а Вы подумайте о том, что есть быстродействие, и ... быстродействие.

Я подумал ещё когда писал Вам предыдущий пост.
Объясняю. Если передавать данные в бинарном формате у меня девайс за секунду успевает опросить 12 датчиков. А если в ASCII-формате, то только 7. Потеря быстродействия налицо... Я не прав?


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
Igor26
сообщение Mar 20 2008, 10:36
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата(Дон Амброзио @ Mar 20 2008, 11:40) *
Я подумал ещё когда писал Вам предыдущий пост.
Объясняю. Если передавать данные в бинарном формате у меня девайс за секунду успевает опросить 12 датчиков. А если в ASCII-формате, то только 7. Потеря быстродействия налицо... Я не прав?

Да уж...
У меня хост четыре раза в секунду опрашивает 16 устройств, на борту у которых от 16-ти датчиков, плюс исполнительные всякие там механизмы и прочая периферия. Времени хватает и опрашивать состояния устройств (не только датчики), но и управлять этими устройствами. Скорость обмена - 9600.
Так что прав Dog Pawlowa. Нужно шире ДУМАТЬ, а не хвататься за "верхушки". Да плюс еще флейм/флуд в конференциях разводить.
Go to the top of the page
 
+Quote Post

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

 


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


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