Например TDA7294

Форум РадиоКот • Просмотр темы - TI MSP430 Launch Pad
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн авг 04, 2025 23:55:21

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 441 ]     ... , , , 12, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Пт июн 07, 2013 01:18:40 
Родился

Зарегистрирован: Пт июн 07, 2013 01:04:32
Сообщений: 12
Рейтинг сообщения: 0
всем привет.

решил вспомнить былое и поюзать МК как хобби. (взял ардуинки, атмегу8 ну и msp430)
начал с MSP430G2553 ланчпад
поюзал кнопку, диодиками поморгал под IAR и Енергия.
но вот загвоздка с выводом UART вроде как дожно выводить но нифига.

можно реальный кусок кода под IAR и что делать!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Пт июн 07, 2013 12:46:26 
Родился

Зарегистрирован: Пт июн 07, 2013 01:04:32
Сообщений: 12
Рейтинг сообщения: 0
так с выводом разобрался :)) оказывается нужно было перемычки RXD TXD перевернуть как у казано на плате!!
под Енергией всё пошло и вывело на терминал.
а вот под IAR ни чего не нашел что бы компилело. всё ошибками. :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Пт июн 07, 2013 19:32:10 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 611
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3736
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
В ДШ все доходчиво написано как работать с UART. Ничего искать не надо напишите пару строчек сами. Вот пример инициализации модуля на 9600 бод:

Код:
; clock setup
   mov.b   &CALDCO_8MHZ, &DCOCTL   
   mov.b   &CALBC1_8MHZ, &BCSCTL1    ; set 8 MHz clock    
   mov.b   #DIVS_1, &BCSCTL2     ; SMCLK=DCO/2   
   mov.b   #LFXT1S_2, &BCSCTL3   ; select VLO as ACLK

   ; UCA0 setup
   mov.b   #UCSSEL_2+UCSWRST, &UCA0CTL1   ; SMCLK
   mov.b   #0xA0, &UCA0BR0      ; setup for 9600 bod
   mov.b   #1,    &UCA0BR1      ; no parity, 1 stop bit
   mov.b   #UCBRS_6, &UCA0MCTL   
   bic.b   #UCSWRST, &UCA0CTL1   ; enable USART


Вот еще пример посылки байта в R4 через UART

Код:
Send_USART:            ; send a char in R4 via UART
        bit.b   #UCA0TXIFG, &IFG2           ; wait for transmitter ready
   jz   $-4
   mov.b   R4, &UCA0TXBUF
   ret


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Пт июн 07, 2013 21:18:40 
Родился

Зарегистрирован: Пт июн 07, 2013 01:04:32
Сообщений: 12
Рейтинг сообщения: 0
что-то ассеблер мне не очень

нашел такой пример. (правда тут уже с моими извратами)
только код из-за библиотек вылез за пределы 4kb :( в итоге пришлось искать и ставить ломоный IAR

Код:
#include "msp430g2553.h"
#include  <stdio.h>
#include  <string.h>

void sendString(char*);

void main(void)
 
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
 
//P1DIR |= (BIT0|BIT7); // Set the LEDs on P1.0, P1.1, P1.2 and P1.6 as outputs
P1DIR |= BIT0 + BIT6 + BIT7 ;

P1OUT &= ~BIT7;
 
P1OUT = 0x01;
 
BCSCTL1 = CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 104; // 1MHz 9600
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
 


__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
}
 
// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // Echo back received character

 char buf[30];
 sprintf(buf, "RH=%d\n", 56);
 sendString(buf);

if (UCA0RXBUF == 'W') P1OUT |= BIT0; // Turn on P1.0 red LED when R is received
else if (UCA0RXBUF == 'w') P1OUT &= ~BIT0; // Turn off P1.0 red LED when r is received
if (UCA0RXBUF == 'G') P1OUT |= BIT6; // Turn on P1.6 green LED when G is received
else if (UCA0RXBUF == 'g') P1OUT &= ~BIT6; // Turn off P1.6 green LED when g is received
if (UCA0RXBUF == 'F') P1OUT |= BIT7; // Turn on P1.6 green LED when G is received
else if (UCA0RXBUF == 'f') P1OUT &= ~BIT7; // Turn off P1.6 green LED when g is received

}

void sendString(char * text) {
    int i = 0;
    for (i = 0; i < strlen(text); i++) {
        while (!(IFG2 & UCA0TXIFG))
            ;
        UCA0TXBUF = text[i];
    }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Пт июн 07, 2013 21:34:32 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1247
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
правда тут уже с моими извратами


И точно, с извратами... Зачем было stdio подключать?

Код:
char buf[30];
 sprintf(buf, "RH=%d\n", 56);
 sendString(buf);


Конкретно здесь можно сделать гораздо проще:

Код:
char buf[30];
 
buf[0]='R';
buf[1]='H';
buf[2]='=';
buf[3]='5';
buf[4]='6';
buf[5]=0x0A;
buf[6]=0x0D;
buf[7]=0;

 sendString(buf);


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

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Сб июн 22, 2013 12:25:46 
Открыл глаза

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Ср мар 27, 2013 09:29:30
Сообщений: 58
Рейтинг сообщения: 0
Вопрос - на выводе RST обязательно наличие резистора подтянутого к +? Без него не будет болтанки уровня? А если перевести вывод в режим NMI, но это прерывание не активировать, можно без резистора обойтись?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Сб июн 22, 2013 13:06:20 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1247
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
на выводе RST обязательно наличие резистора подтянутого к +?


Обязательно.

Цитата:
можно без резистора обойтись?


Нет. Все входы должны иметь четко заданный уровень.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Сб июн 22, 2013 13:21:01 
Открыл глаза

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Ср мар 27, 2013 09:29:30
Сообщений: 58
Рейтинг сообщения: 0
Даже если перевести этот вывод в режим NMI (немаскируемого прерывания, вторая функция этой ножки)?
А у вас есть под рукой какой-либо макет, что б проверить, что на этом выводе без резистора?

Просто в описании контроллера не указано явно, что этот резистор строго обязателен и причем в обоих режимах. Указано, что этот вход МОЖЕТ использоваться для сброса при низком уровне и режиме RST.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Сб июн 22, 2013 13:34:31 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1247
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
Просто в описании контроллера не указано явно, что этот резистор строго обязателен


Плохо читали.

User's Guide, страница 44, таблица 2-3.

Цитата:
что на этом выводе без резистора?


Помехи. Это высокоомный цифровой вход.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Сб июн 22, 2013 13:42:35 
Открыл глаза

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Ср мар 27, 2013 09:29:30
Сообщений: 58
Рейтинг сообщения: 0
Действительно, оплошал. Я то в разделе IO и других смотрел, а этот как-то упустил :hunger:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 15:40:02 
Открыл глаза

Зарегистрирован: Чт июл 04, 2013 15:15:22
Сообщений: 43
Рейтинг сообщения: 0
Хочу сделать из MSP430 LaunchPad тестовый прибор, с которым можно связаться через com-порт компьютера (по протоколу modbus).

На первое время хочу сделать связь через com-порт компьютера с MSP430 LaunchPad, чтобы банально сканер com-порта показывал, что MSP430 LaunchPad шлёт биты на компьютер.

Пока я не нашёл в инете рабочего примера, как сделать связь между MSP430 LaunchPad и компьютером через com-порт. Те примеры, что нашёл (energia), дали мне ещё больше вопросов.

Подскажите пожста куда копать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 17:43:28 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1247
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
1. LaunchPad содержит в себе мост USB-UART, который можно использовать для связи с МК.

2. COM-порт и MODBUS - самоцель? Или цель - просто переслать байты в МК?

3. Почитайте про модуль USCI в User's Guide. USCI ЕМНИП можно сконфигурировать как UART, а это и есть то, что Вам надо. Со стороны Windows используйте функции API CreateFile, WriteFile (да, с COM-портом можно работать как с файлом).

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 18:35:13 
Открыл глаза

Зарегистрирован: Чт июл 04, 2013 15:15:22
Сообщений: 43
Рейтинг сообщения: 0
YS писал(а):
1. LaunchPad содержит в себе мост USB-UART, который можно использовать для связи с МК.

2. COM-порт и MODBUS - самоцель? Или цель - просто переслать байты в МК?

3. Почитайте про модуль USCI в User's Guide. USCI ЕМНИП можно сконфигурировать как UART, а это и есть то, что Вам надо. Со стороны Windows используйте функции API CreateFile, WriteFile (да, с COM-портом можно работать как с файлом).


1. У меня возникло сомнение, что это можно использовать для передачи байт в МК, т.к. этот самый мост (com-порт) использует (резервирует) IAR при отладке.

2. Цель - переслать байты в МК и/или обратно в ПК. Модбас - это уже потоммм.

3. Я как раз связывался через com-порт с прибором по протоколу модбас, и общался с ними по com-порту (C# Net).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 18:52:40 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 611
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3736
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Использовать COM порт можно даже одновременно с работающим отладчиком. Я это делал для статьи
http://radiokot.ru/circuit/analog/receiv_transmit/33/

Вот пример от ТИ для работы с UART:
Спойлер
Код:
//******************************************************************************
//   MSP430G2xx3 Demo - USCI_A0, Ultra-Low Pwr UART 9600 String, 32kHz ACLK
//
//   Description: This program demonstrates a full-duplex 9600-baud UART using
//   USCI_A0 and a 32kHz crystal.  The program will wait in LPM3, and will
//   respond to a received 'u' character using 8N1 protocol. The response will
//   be the string 'Hello World'.
//   ACLK = BRCLK = LFXT1 = 32768Hz, MCLK = SMCLK = DCO ~1.2MHz
//   Baud rate divider with 32768Hz XTAL @9600 = 32768Hz/9600 = 3.41
//* An external watch crystal is required on XIN XOUT for ACLK *//
//
//                MSP430G2xx3
//             ----------
//         /|\|              XIN|-
//          | |                 | 32kHz
//          --|RST          XOUT|-
//            |                 |
//            |     P1.2/UCA0TXD|---------->
//            |                 | 9600 - 8N1
//            |     P1.1/UCA0RXD|<----------
//
//   D. Dang
//   Texas Instruments Inc.
//   February 2011
//   Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************
#include  "msp430g2553.h"

const char string1[] = { "Hello World\r\n" };
unsigned int i;

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR = 0xFF;                             // All P1.x outputs
  P1OUT = 0;                                // All P1.x reset
  P2DIR = 0xFF;                             // All P2.x outputs
  P2OUT = 0;                                // All P2.x reset
  P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P3DIR = 0xFF;                             // All P3.x outputs
  P3OUT = 0;                                // All P3.x reset 
  UCA0CTL1 |= UCSSEL_1;                     // CLK = ACLK
  UCA0BR0 = 0x03;                           // 32kHz/9600 = 3.41
  UCA0BR1 = 0x00;                           //
  UCA0MCTL = UCBRS1 + UCBRS0;               // Modulation UCBRSx = 3
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt

  __bis_SR_register(LPM3_bits + GIE);       // Enter LPM3 w/ int until Byte RXed
}

#pragma vector=USCIAB0TX_VECTOR
__interrupt void USCI0TX_ISR(void)
{
  UCA0TXBUF = string1[i++];                 // TX next character

  if (i == sizeof string1 - 1)              // TX over?
    IE2 &= ~UCA0TXIE;                       // Disable USCI_A0 TX interrupt
}

#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  if (UCA0RXBUF == 'u')                     // 'u' received?
  {
    i = 0;
    IE2 |= UCA0TXIE;                        // Enable USCI_A0 TX interrupt
    UCA0TXBUF = string1[i++];
  }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 20:46:56 
Открыл глаза

Зарегистрирован: Чт июл 04, 2013 15:15:22
Сообщений: 43
Рейтинг сообщения: 0
Ser60 писал(а):
Использовать COM порт можно даже одновременно с работающим отладчиком. Я это делал для статьи
http://radiokot.ru/circuit/analog/receiv_transmit/33/

подскажите, а код вашей статьи тоже имеет такую особенность: пересылаемые пакеты не покажет программа portmon?

Я спрашиваю, потому что найденный в инете простой код для energia:
Спойлерvoid setup() {
// P1_0 - red LED
// P1_6 - green LED
pinMode(P1_0, OUTPUT);
pinMode(P1_6, OUTPUT);

Serial.begin(9600);
}

void loop() {
digitalWrite(P1_0, HIGH); // set the LED on
digitalWrite(P1_6, LOW); // set the LED off
Serial.println('H');
delay(1000); // wait for a second
digitalWrite(P1_6, HIGH); // set the LED on
digitalWrite(P1_0, LOW); // set the LED off
Serial.println('L');
delay(1000); // wait for a second
}

- от его работы тоже отображает пересылаемые данные только putty (или с monitor-ом, встроенный в energia), а portmon наотрез отказывается что-нибудь показывать. Терялся в догадках, - это ведь через com-порт кидается, а значит сканер com-порта portmon должен показывать хотя бы мусор. ..Или portmon не умеет сканировать :) или должен быть как-то хитро настроен (а при этом пакеты, которые я кидаю используя c# net, portmon прекрасно показывает). Просветите.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 21:14:59 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1247
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
Просветите.


Тут проблема может быть в том, что, если использовать мост USB-UART, порт получается виртуальный. И кто знает, как там portmon на него реагирует...

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 21:21:16 
Открыл глаза

Зарегистрирован: Чт июл 04, 2013 15:15:22
Сообщений: 43
Рейтинг сообщения: 0
YS писал(а):
Цитата:
Просветите.


Тут проблема может быть в том, что, если использовать мост USB-UART, порт получается виртуальный. И кто знает, как там portmon на него реагирует...

хм... я полагал, что переходник usb-com, используемый для связи с приборами по com-порту (c# net, Win XP Home Edition SP3 лиц), предоставляет в систему такой же виртуальный com-порт, что и MSP430 LaunchPad (в смысле свободной доступности к нему всеми возможными программными средствами как к аппаратному com-порту).

Выходит, эти два com-порта для системы представлены по-разному?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 21:32:30 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1247
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
в смысле свободной доступности к нему всеми возможными программными средствами


Вопрос как раз в том, как этот самый portmon осуществляет к нему доступ. Он же вроде как-то перехватывает поток данных, а не по-человечески открывает порт...

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Чт июл 04, 2013 21:37:15 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 611
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3736
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
VLeshka писал(а):
пересылаемые пакеты не покажет программа portmon?


Никогда о такой не слышал, но LaunchPad предоставляет в систему стандартный COM порт. Скачайте одну из тех программ терминалок, что в статье упомянуты, и все будет работать. С Energia я тоже не балуюсь и Вам не советую.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: TI MSP430 Launch Pad
СообщениеДобавлено: Пт июл 05, 2013 15:12:05 
Открыл глаза

Зарегистрирован: Чт июл 04, 2013 15:15:22
Сообщений: 43
Рейтинг сообщения: 0
Написал на c# net простенькую прогу, подключающаяся к com-порту и показывающая всё что оттуда идёт - так и есть, данные от MSP430 LaunchPad через com-порт идут! :music:
Вы были правы, portmon в данном случае просто не работает! :shock:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 441 ]     ... , , , 12, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y