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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> UART2 на STM32F100C4 сплошные глюки :')
MBR
сообщение Sep 18 2012, 11:34
Сообщение #31


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748



Цитата(Bob176 @ Sep 18 2012, 15:05) *
мне идея нужна...

Ну, не хотите по существу, я тоже в абстракцию уйду sm.gif Идея проста - написание своих велосипедов без достаточно вдумчивого чтения манов чревато глюками и потерянным временем sm.gif
Go to the top of the page
 
+Quote Post
Bob176
сообщение Sep 18 2012, 12:20
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-01-09
Пользователь №: 43 870



Цитата(MBR @ Sep 18 2012, 15:34) *
Ну, не хотите по существу, я тоже в абстракцию уйду sm.gif Идея проста - написание своих велосипедов без достаточно вдумчивого чтения манов чревато глюками и потерянным временем sm.gif

уважаемый MBR вы считаете проблема в коде? в инициализации? в прерывании? в начале поста я выкладывал исходники.. особенно в них ничего не поменялось... данные принимаются верно, значит скорость задана правильно, на низкой частоте все работает корректно... что может привести к тому, что на высокой частоте передаётся ещё один байт мне пока не понятно ... , вот и интересуюсь, может кто уже сталкивался с такой проблемой... или натолкнёт идейкой на решение ..
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 18 2012, 12:44
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Bob176 @ Sep 18 2012, 16:20) *
или натолкнёт идейкой на решение ..

Есть идейка: потыкайте осциллографом вашу схему. К тому же вы упоминали про полудуплекс: вдруг при переключении режима приём-передача на линии образуется выброс? Ну и вообще полезно убедиться, что проблема не в железе, прежде чем нырять в софт.
Go to the top of the page
 
+Quote Post
MBR
сообщение Sep 18 2012, 12:56
Сообщение #34


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748



Цитата(Bob176 @ Sep 18 2012, 16:20) *
в начале поста я выкладывал исходники.. особенно в них ничего не поменялось...

Там была ссылка на нерабочий вариант.

scifi, скорее всего, прав насчет полудуплекса. Правильная логика отправки должна быть следующая: разрешаем TXE, делаем отправку. После отправки последнего байта в обработчике запрещаем TXE, разрешаем TC. И только когда снова придем в обработчик TC - запрещаем TC и трансмиттер.

Но Ваша лень сделать копипасту превращает это лишь в предположения. Я могу дать ссылку на мой рабочий исходник с полудуплексом для F2 - там разница лишь в установке baud rate, при передаче данных регистры те же.
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Sep 18 2012, 16:44
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(Bob176 @ Sep 18 2012, 15:05) *
оптопары скорострельные H11L1

Очень скорострельные biggrin.gif
Turn–On Time 1,2 (max 4) us
Turn–Off Time 1,2 (max 4) us
when RL = 270R If=1,2mA

А теперь посчитаем грубо 1/115200=8,68us, что остается в остатке?
Осциллограф и еще раз осциллограф.
Go to the top of the page
 
+Quote Post
Bob176
сообщение Sep 19 2012, 11:12
Сообщение #36


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-01-09
Пользователь №: 43 870



Цитата(scifi @ Sep 18 2012, 16:44) *
Есть идейка: потыкайте осциллографом вашу схему. К тому же вы упоминали про полудуплекс: вдруг при переключении режима приём-передача на линии образуется выброс? Ну и вообще полезно убедиться, что проблема не в железе, прежде чем нырять в софт.


Да, scifi, хорошо бы посмотреть осциллографом, да у меня дома древний, аналоговый... сложно им что то увидеть, да и JTAGA на плате нет и отладчик Keilа этот проц не поддерживает ... вот и мучаюсь... rolleyes.gif

про полудуплекс ... полудуплекс - подразумевает передачу данных и приём в разные моменты времени и раньше я думал, что что у меня именно такой случай, а оказалось нет ... полный дуплекс smile3046.gif . В данном случае полудуплекс получится при передаче и приёме по одному проводу и разделении во времени..., а я всёж использую 2 провода, хотя и преобразую потом в RS-485

да, в железе может быть проблема, полностью согласен.. надеюсь сегодня вечером доберусь до платы и продолжу эксперименты biggrin.gif

Цитата
Очень скорострельные biggrin.gif

DmitryM а Вы что применяете?
..... хотя, я думаю оптопары справляются, ведь данные не искажаются, а появляется ещё один байт ...

Сообщение отредактировал Bob176 - Sep 19 2012, 11:16
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Sep 19 2012, 13:19
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(Bob176 @ Sep 19 2012, 15:12) *
В данном случае полудуплекс получится при передаче и приёме по одному проводу и разделении во времени..., а я всёж использую 2 провода, хотя и преобразую потом в RS-485

А в RS485 у Вас сколько проводов? Вы ж управляете включением-выключением приемника/передатчика RS485, вот Вам и полудуплекс.
Кстати, не забыли, что у многих приемопередатчиков RS485 выход приемника переходит в Z-состояние. Там хоть подтяжка есть? или болтается в воздухе?
Цитата
DmitryM а Вы что применяете?
..... хотя, я думаю оптопары справляются, ведь данные не искажаются, а появляется ещё один байт ...

ADUM1201, например.
Go to the top of the page
 
+Quote Post
Bob176
сообщение Sep 19 2012, 16:15
Сообщение #38


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-01-09
Пользователь №: 43 870



Цитата(DmitryM @ Sep 19 2012, 17:19) *
А в RS485 у Вас сколько проводов? Вы ж управляете включением-выключением приемника/передатчика RS485, вот Вам и полудуплекс.


DmitryM, я раньше тоже так думал, но в применении к данному случаю, полудуплекс - если и приём и передача ведутся по одному проводу Тх !

на выходе приемника подтяжка есть.

ADUM1201 - уж больно дорогое решение

Сообщение отредактировал Bob176 - Sep 19 2012, 16:18
Go to the top of the page
 
+Quote Post
Bob176
сообщение Sep 19 2012, 17:46
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 23-01-09
Пользователь №: 43 870



ну всё, разобрался! laughing.gif

передавал один лишний байт, была ошибка в программе ... а прерывание всё честно отрабатывало

теперь всё ок!!!

DmitryM , scifi и всем спасибо !!!

Сообщение отредактировал Bob176 - Sep 19 2012, 18:20
Go to the top of the page
 
+Quote Post

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

 


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


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