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

 
 
> Возможности USART в MSP430F449, TXD/RXD как выходы общего назначения
Petrooo
сообщение Jul 28 2006, 10:01
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 21-10-05
Пользователь №: 9 922



Добрый день, уважаемые коллеги!
Имеется следующая задача.
Блок на основе MSP430F449.
Для проверки работоспособности интерфейсного разъема RS232 сигнал TXD с помощью заглушки заведен на RXD (в том же интерфейсном разъеме). Это сигналы порта USART0 - TXD(P2.4)/RXD(P2.5).
Возможно ли в MSP430 настройть USART так, чтобы можно было бы сигналами TXD/RXD играться "вручную" как в процах 8051, 8052 - ставить TXD в 0/1 и ловить эти значения RXD?
Или в MSP430 такое вообще не возможно?

Вот так не работает blink.gif
Код
#define  TX0  (P2OUT & 0x10)
#define  RX0  (P2IN  & 0x20)
#define  ClrTX0  P2OUT &= ~0x10
#define  SetTX0  P2OUT |=  0x10

void TestRS_PC() {
   P2SEL |= 0x30;         // P2.4,5 = USART0 TXD(P2.4)/RXD(P2.5)
   P2DIR |= 0x10;        // P2.4 output direction

   IE1 &= ~(UTXIE0 + URXIE0);
   ME1 |= UTXE0 + URXE0;         // Enable USART0 TXD/RXD

   UCTL0 = SYNC;   // пробовал так   1
//   UCTL0 = СHAR;    и вот так         2
//   UCTL0 = 0;          и так тоже       3

   do {
     ClrTX0;
     Delay(500);  // задержка 500 мс
     if (RX0) ShowMsg(msgRX_HIGH);  // на индикатор RXD = 1
     else ShowMsg(msgRX_LOW);        // на индикатор RXD = 0

     SetTX0;                             // после этой команды RX0 все равно = 0 !!!
     Delay(500);
     if (RX0) ShowMsg(msgRX_HIGH);  // на индикатор RXD = 1
     else ShowMsg(msgRX_LOW);        // на индикатор RXD = 0
   } while(!GetKey());
}
Go to the top of the page
 
+Quote Post



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

 


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


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