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

 
 
 
Reply to this topicStart new topic
ARV
сообщение Dec 14 2011, 11:03
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



принимаю байты USART1 на скорости 9600. осциллографом смотрю - передается 0x01, вывожу из UDR1 в PORTA - вижу в порту 0x80. и так любые числа - биты идут в обратном порядке!

что PORTA разведен правильно - убедился. что биты передаются в правильном порядке (сначала младший) - убедился...

че за хня творится?! че делать?!


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 14 2011, 11:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



А как Вы "видите", что передается именно 0х01 а не 0х80 ?


--------------------
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 14 2011, 11:49
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Рисуночек прикрепите...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ARV
сообщение Dec 14 2011, 11:49
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(prottoss @ Dec 14 2011, 15:09) *
А как Вы "видите", что передается именно 0х01 а не 0х80 ?


я смотрю осциллографом на то, что приходит на RX1: вижу провал из 1 в 0 - это старт, затем вижу скачок в 1 и снова в 0 - уже до конца фрейма. т.е. передается единственный бит, который виден в начале фрейма. когда вывожу принятый байт в порт, вижу это единственный ненулевой бит в старшем разряде sad.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
GDI
сообщение Dec 14 2011, 13:28
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Чудес то не бывает, смотрите как Вы там в порт выводите число, это наиболее вероятная причина ошибки. УАРТ можно проверить сравнив принятый байт с константой.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 15 2011, 04:34
Сообщение #6


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(ARV @ Dec 14 2011, 14:49) *
я смотрю осциллографом на то, что приходит на RX1: вижу провал из 1 в 0 - это старт, затем вижу скачок в 1 и снова в 0 - уже до конца фрейма. т.е. передается единственный бит, который виден в начале фрейма. sad.gif
Может Вы перепутали что нибудь.
http://www.maxim-ic.com/app-notes/index.mvp/id/2141
Ведь логической единичке соответствует низкий уровень, а нулю высокий.
Таким образом описанная вами картинка (без старт-стоп) соответствует:
Вы видите:10000000
LSB FIRST 01111111
MSB FIRST 11111110 = 0xfe

Если мне мой склероз не изменяет.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
GDI
сообщение Dec 15 2011, 06:06
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата(demiurg_spb @ Dec 15 2011, 08:34) *
Может Вы перепутали что нибудь.
http://www.maxim-ic.com/app-notes/index.mvp/id/2141
Ведь логической единичке соответствует низкий уровень, а нулю высокий.

Да не, всё верно у него, инверсия получается только после RS232 буферов, а тут чистый УАРТ, где 5В - это "1", а 0В - "0".


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 15 2011, 06:25
Сообщение #8


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Тогда - ой.

2ТС:
Вариант1:
Я прочитал что вы видите реверс любых чисел, но всё же, если передаёте 0xAA вы получаете 0x55?
Если нет, то проблема в настройке бодрейта и/или остальных параметров передачи байтового фрейма.
Вариант2:
Перепутаны GND и VCC при соединении земель двух устройств. У самого такое как-то раз было.
Проверьте что у них потенциал земли одинаков.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Dec 16 2011, 04:47
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(ARV @ Dec 14 2011, 15:49) *
я смотрю осциллографом на то, что приходит на RX1: вижу провал из 1 в 0 - это старт, затем вижу скачок в 1 и снова в 0 - уже до конца фрейма. т.е. передается единственный бит, который виден в начале фрейма. когда вывожу принятый байт в порт, вижу это единственный ненулевой бит в старшем разряде sad.gif

Осциллограф - это хорошо.
Вот я смотрю осциллографом на COM порт компьютера и вижу: _____--__--__--____----_________ ___ это -12 вольт, --- это +12 вольт. На терминалке жму цифру "5", то есть передаётся 0х35. Первый импульс - стартовый, дальше 01010011 То есть компьютер передаёт младшим битом вперёд.
У вас передаётся -------___---____________---------, да? А тогда то, что выделено красным - не старт ли и 0x80, только на другой скорости?
Может надо было попробовать с другими числами? 0x5, 0x86 например?
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 16 2011, 06:49
Сообщение #10


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(ARV @ Dec 14 2011, 15:03) *
...че делать?!


Тут уже прозвучала мысля кажется...
1) попробывать другое значение. убедиться что инверсия.
2) если отличный от инверсии - проверять скорости, делители, кварцы, стопы-старты, чётность..
3) если инверсия - надо распиливать связку. т.е. вводить ышо один порт. на приём или передачу. и собственно ловить-смотреть какая сторона глючит. передача либо приём.


(круглый)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 08:51
Рейтинг@Mail.ru


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