Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

не понятно работает UART на MSP430F1121A

Отправлено Алексей 06 декабря 2006 г. 21:51


Uart работает не понятно как данные посылает принимаю программой Terminal какую то непонятность к примеру если посылаю 10 то приходит 4ю
прога каждую секунду выдает данные
текст программы:
#include

#define TXD 0x02
#define BITTIME 0x6C
#define BIT_CNT 0xA

unsigned _data;
unsigned Data;
unsigned BitCnt;
unsigned char i;

char string1[] = "ABC" ;

void TransmitData(unsigned _data)
{
BitCnt = BIT_CNT;
Data = _data;
CCR0 = TAR;
CCR0 += BITTIME;
Data |= 0x100;
Data = Data << 1;
CCTL0 = OUTMOD0 + CCIE;

while (CCTL0 & CCIE);
}

void Init(void)
{
WDTCTL = WDTPW + WDTHOLD;

CCTL0 = OUT;
TACTL = TASSEL_2 + MC_2;

P1SEL = TXD;
P1DIR = TXD;

WDTCTL = WDT_ADLY_1000;
IE1 = WDTIE;

__enable_interrupt();
}

void main (void)
{
Init();
while (1);
}

#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
CCR0 += BITTIME;
if (BitCnt == 0)
CCTL0 &= ~CCIE;
else
{
CCTL0 |= OUTMOD2;
if (Data & 0x01)
CCTL0 &= ~ OUTMOD2;
Data = Data >> 1;
BitCnt--;
}
}

#pragma vector = WDT_VECTOR
__interrupt void WDT_Handler(void)
{
__enable_interrupt();
TransmitData(10);
}


Составить ответ | Вернуться на конференцию

Ответы


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

Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
прибавьте тройку к двум:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru