Перейти к содержанию
    

преинициализация USART1 в AT91SAM7S256

Люди добрые, подскажите плиз что за ерунда происходит, или что я не так делаю...

 

мне нужно переинициализировать компорт на другую скорость работы

мне нужно сменить скорость работы порта - это цель

 

вот как я делаю

 

//usart1->US_BRGR = usart_reg_speed[usart_speed_ptr];

тоесть я переписываю просто регистр поверху

я подозреваю что так делать можно, но не уверен

 

или так

init_ComPort1_reinit(usart_reg_speed[usart_speed_ptr]);

здесь компорт поверху переписывает регисты и все

 

но после того как я это делаю USART начитает принимать спустя какоето время(10-15 сек и нескольких посылок)

 

так вот вопрос - USART при переинициализации нужно вообще отключать?

как всетаки правильно делать???

 

 

сорри - за поста - это глюки браузера и перегружался видимо апач в это время здесь на сайте

еще раз сорри

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я например при установке регистов уарта выключаю его и запрещаю прерывания..

 

вот так..

 

static void SamUsartEnable(void){ // Разрешим уарт и перрывания.

OS_CPU_SR cpu_sr;

OS_ENTER_CRITICAL();

AT91C_USART_PTR->US_CR = AT91C_US_RXEN | AT91C_US_TXEN;

OS_EXIT_CRITICAL();

}

 

static void SamUsartDisable(void){ // Запрет работы уарта.

OS_CPU_SR cpu_sr;

OS_ENTER_CRITICAL();

AT91C_USART_PTR->US_CR = AT91C_US_RXDIS | AT91C_US_TXDIS;

OS_EXIT_CRITICAL();

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...