Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
EUSART/USART смена скорости
MiXaS Дата: Чт, 27.06.2013, 16:30  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 549
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Здравствуйте! Подскажите пожалуйста, как реализовать смену настроек EUSART в коде. К примеру, при изменении значения какой-то переменной, поизвести смену скорости, и перезагрузить камень. Ну как перезагрузить я знаю, а вот как поменять скорость - не знаю. Точнее не получается.
Спасибо!
ЯНДЕКС Дата: 27.06.2013
DAlexV Дата: Пт, 28.06.2013, 00:26  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Цитата (MiXaS)
как перезагрузить я знаю
Для смены скорости совсем не обязательно перегружать камень. Достаточно просто записать новое значение в регистр скорости обмена ( SPBRG ). Если работаем с большими скоростями, то желательно включить скоростной режим ( TXSTA.4=1 ). Значение регистра SPBRG можно взять из мануала на камень. Пример приложил.
Успехов wink
Прикрепления: USART.rar (89.6 Kb)


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
MiXaS Дата: Пт, 28.06.2013, 10:30  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 549
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Та вроде так и делаю. Второй день уже потратил. Но гвоздь встал в другом. Использую pic18f2550. Кварц 20. Работают скоростя 19200, 38400. Ниже не работает. Уже и низкоскоростной режим пробовал. Тут еще такое всплывает: Иногда HRSOUT не рабоатет, в этом случае приходится обращатся в метку, в которой проверяем флаг PIR1.4 и только тогда отправляем через TXREG = А.
Беру другой код, очень похожий, (оба кода сам писал) который использую в другой железке, там 9600 работает. Вопрос, может компилятор глючит?

Добавлено (28.06.2013, 10:13)
---------------------------------------------
DAlexV,  спасибо!

Добавлено (28.06.2013, 10:30)
---------------------------------------------
Я нашел где собака порылась! Дело было в таймере, который следил за началом и концом кадра. При изменении скорости значение перененной тоже надо было поменять! Болван!
DAlexV
, еще раз Вам спасибо!

  • Страница 1 из 1
  • 1
Поиск: