[an error occurred while processing this directive]
Делитель что ли какой? Не помню уже, давно дело было. Но если кит работает с вдсп++ и др.,
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено sdy 06 апреля 2004 г. 01:56
В ответ на: Всё как-бы работает, но при выставлении DLAB в 1 по адресу 3 не получается нужная частота настройки, и вообще она не управляется. отправлено Новый 05 апреля 2004 г. 14:41

значит и частота переключается. Потому что вдсп++ и другие старые проги коннектятся к киту на 9600, а уже потом переключают скорость на 115200 и другие скорости. Если есть желание разобраться в этом ползай по исходнику kernel от этого кита. Он хоть и большой, но там много чего полезного почерпнуть можно и не только в части управления этим уартом, а на 90% для работы с ядром вообще.
И ищи в кернеле подпрограмму (ветку), которая запускается после приема пакета на переключение скорости. Например, вот эту часть:
//**************************************************************************
//*
//* Setup the UART to desired speed.
//*
//**************************************************************************
//
// Set the UART speed.
//
set_uart_speed_sub:

// Set desired baud, 8-bit, no parity, and 1 stop-bit.
R0=0x83;
WRITE_UART(LCR_ADDR) // Set Divisor Latch bit in Line Control Reg.
R0=PM(uart_divisorl);
WRITE_UART(DLL_ADDR) // Set Divisor Latch LS byte for desired baud.
R0=PM(uart_divisorh);
WRITE_UART(DLM_ADDR) // Set Divisor Latch MS byte for desired baud.
R0=0x03; //
WRITE_UART(LCR_ADDR) // Clear Divisor Latch bit in Line Control Reg.

// Done, return.
RTS;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru