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

 
 
> AT89S8253, Скорость UART
Pretorianec
сообщение Jun 1 2010, 10:49
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 18-01-06
Пользователь №: 13 317



Возникла проблема при использовании UART.
Старая разработка всю жизнь работала на скорости 4800 бод, возникла потребность соединить с другим устройством на скорости 115200 бод.

Просмотрев DataSheet пришел к выводу, что нужно использовать внутренний BaudGenerator, пришлось прописывать новые регистры:

sfr BDRCON = 0x9B; /* Serial Port Baud Rate Control*/

/*------------------------------------------------
BDRCON (0x9B) Baud Rate Control Register
------------------------------------------------*/
#define SRC_ 0x01
#define SPD_ 0x02

#define RBCK_ 0x04
#define TBCK_ 0x08

#define BRR_ 0x10


однако BaudGenerator не включился.

Может быть кто уже решал подобную проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SysRq
сообщение Jun 5 2010, 15:21
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Код
#include "reg8253.h"

#define TRUE    1
#define FALSE    0

#define XTAL    11059200UL

CODE
void UART_Initialize(void) // initialization
{
UART_RxTail = 0; // reset buffer counters
UART_RxHead = 0;

UART_TxTail = 0;
UART_TxHead = 0;

UART_TxInProgress = FALSE;

#define UART_BAUDRATE 115200UL
#define UART_TIMER2_PRESCALER_VALUE (unsigned int) (65536.5 - XTAL / (32.0 * UART_BAUDRATE))

TH2 = (unsigned char) (UART_TIMER2_PRESCALER_VALUE >> 8);
TL2 = (unsigned char) (UART_TIMER2_PRESCALER_VALUE);
RCAP2H = (unsigned char) (UART_TIMER2_PRESCALER_VALUE >> 8);
RCAP2L = (unsigned char) (UART_TIMER2_PRESCALER_VALUE);

TCLK = TRUE;
RCLK = TRUE;
TR2 = TRUE;

SM1 = TRUE;
REN = TRUE;

ES = TRUE;
}
Go to the top of the page
 
+Quote Post



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

 


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


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