Easyelectronics.ru

Электроника для всех
Текущее время: 25 авг 2019, 19:19

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: msp430g2553+ I2C
СообщениеДобавлено: 20 янв 2014, 19:49 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
Доброго времени суток, нужна помощь сmsp430g2553+ I2C. Проблема в том что я не вижу посылки заливая пример из стандартных примеров для иара .
вот код примера , может кто подскажет в чем проблема или хороший пример .
Код:
//
//  D. Dang
//  Texas Instruments Inc.
//  February 2011
//   Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************
#include <msp430g2553.h>

unsigned char *PTxData;                     // Pointer to TX data
unsigned char TXByteCtr;
const unsigned char TxData[] =              // Table of data to transmit
{
  0x11,
  0x22,
  0x33,
  0x44,
  0x55
};

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1SEL |= BIT6 + BIT7;                     // Assign I2C pins to USCI_B0
  P1SEL2|= BIT6 + BIT7;                     // Assign I2C pins to USCI_B0
  UCB0CTL1 |= UCSWRST;                      // Enable SW reset
  UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;     // I2C Master, synchronous mode
  UCB0CTL1 = UCSSEL_2 + UCSWRST;            // Use SMCLK, keep SW reset
  UCB0BR0 = 12;                             // fSCL = SMCLK/12 = ~100kHz
  UCB0BR1 = 0;
  UCB0I2CSA = 0x38;                         // Slave Address is 048h
  UCB0CTL1 &= ~UCSWRST;                     // Clear SW reset, resume operation
  IE2 |= UCB0TXIE;                          // Enable TX interrupt

  while (1)
  {
    PTxData = (unsigned char *)TxData;      // TX array start address
    TXByteCtr = sizeof TxData;              // Load TX byte counter
    while (UCB0CTL1 & UCTXSTP);             // Ensure stop condition got sent
    UCB0CTL1 |= UCTR + UCTXSTT;             // I2C TX, start condition
    __bis_SR_register(CPUOFF + GIE);        // Enter LPM0 w/ interrupts
                                            // Remain in LPM0 until all data
                                            // is TX'd
  }
}

//------------------------------------------------------------------------------
// The USCIAB0TX_ISR is structured such that it can be used to transmit any
// number of bytes by pre-loading TXByteCtr with the byte count. Also, TXData
// points to the next byte to transmit.
//------------------------------------------------------------------------------
#pragma vector = USCIAB0TX_VECTOR
__interrupt void USCIAB0TX_ISR(void)
{
  if (TXByteCtr)                            // Check TX byte counter
  {
    UCB0TXBUF = *PTxData++;                 // Load TX buffer
    TXByteCtr--;                            // Decrement TX byte counter
  }
  else
  {
    UCB0CTL1 |= UCTXSTP;                    // I2C stop condition
    IFG2 &= ~UCB0TXIFG;                     // Clear USCI_B0 TX int flag
    __bic_SR_register_on_exit(CPUOFF);      // Exit LPM0
  }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 20 янв 2014, 20:34 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3270
не сказать что пример хороший, но вроде работает

Show i2c


Show 24LCxx


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 20 янв 2014, 23:07 
Только пришел

Зарегистрирован: 05 дек 2012, 23:34
Сообщения: 13
Примеры по этой ссылке однозначно рабочие
http://we.easyelectronics.ru/msp430/ispolzovanie-apparatnogo-i2c-msp430launchpad-i-ez430-f2012-dlya-podklyucheniya-segmentnogo-indikatora-melt-10.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 21 янв 2014, 00:11 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
libval писал(а):


Скажите какой эффект будет, если на линии нет абонента будет ли видна на осцилографе посылка ? я запускал первый пример(способ) из предложенных, но послку так поймать и не удалось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 21 янв 2014, 00:23 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3440
А_lex_sander писал(а):
Скажите какой эффект будет, если на линии нет абонента будет ли видна на осцилографе посылка ?

Ну хотя бы кусок должен быть виден. Вы подтяжки подключили?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 21 янв 2014, 02:08 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
яверт писал(а):
А_lex_sander писал(а):
Скажите какой эффект будет, если на линии нет абонента будет ли видна на осцилографе посылка ?

Ну хотя бы кусок должен быть виден. Вы подтяжки подключили?

подтяжка есть 5 кОм.

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

Show main

Show TI_USCI_I2C_master.c

Show TI_USCI_I2C_master.h


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 22 янв 2014, 21:09 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
I2C заработал, но есть проблема- после того как предан первый байт с адресом, второй с данными (коммандой ) не предается (невидно на осцилографе) приэтом scl прижимаеться к нулю и все .
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 22 янв 2014, 22:00 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3270
а если стоп добавить?
I2cStartWrite(0x1D);
I2cWrite(&H[0],1);
I2cStop();

по адресу 0x1D точно кто-нибудь есть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 23 янв 2014, 14:47 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
Есть ли DMA I2C в msp430g2553 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 30 янв 2014, 14:11 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
возникли проблемы с добавлением на шину второго устройства.
Отдельно устройства работают нормально , но если их инициализирую вместе то возникает зависание в ожидании освобождения линии (UCB0STAT & UCBBUSY)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 30 янв 2014, 14:12 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
Вангую: у устройств одинаковые адреса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: msp430g2553+ I2C
СообщениеДобавлено: 30 янв 2014, 14:40 
Только пришел

Зарегистрирован: 18 янв 2014, 17:34
Сообщения: 26
amx писал(а):
Вангую: у устройств одинаковые адреса.

адреса разные
вот код
Show "код Шредингера ибо пашет рандомно"

библиотека приведена выше
устройства это два датчика Lis302DL адрес одного 0x1D второго 0x1C


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

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


Кто сейчас на конференции

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB