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

 
 
> I2C в MSP430F169
Slonic
сообщение Mar 16 2006, 09:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 3-10-05
Из: Москва-Троицк
Пользователь №: 9 174



Господа, разбираюсь с чудом из Техаса в связке с IAR EW 3.2 Проблема с моим непониманием, как должен работать модуль I2C. С UARTом все получилось довольно просто, а здесь что-то застопорилось.

Итак, задача. Есть контроллер с резонатором 6Мгц на месте XCLK1. Конфигурируем источник тактовой частоты и затем модуль I2C:

BCSCTL1 = 0xC0; // select clock source
BCSCTL2 = 0xC8;

P3SEL |= 0x0a; // Assign I2C pins to module
U0CTL |= I2C + SYNC; // Switch USART0 to I2C mode
U0CTL &= ~I2CEN; // Recommended I2C init procedure
I2CTCTL = 0x30; // SMCLK
I2CSCLH = 0x1D; // High period of SCL
I2CSCLL = 0x1D; // Low period of SCL
I2CNDAT = 0x01; // Transmit one byte
I2CSA = 0x4F; // Slave address = 0 1001 111
I2CIE = RXRDYIE; // Enable RXRDYIFG interrupt
U0CTL |= I2CEN; // Enable I2C, 7 bit addr,
_EINT(); // Enable interrupts

По идее, на входе модуля должна быть исходная тактовая частота 6мгц. Частота SCL соответственно должна быть 6000кГц / ((29 + 1) * 2) = 100кГц. При контроле этого пина осциллографом вижу там частоту в районе 2кГц. Откуда она берется - непонятно. При этом UART1 прекрасно работает на нужной скорости.

Заранее спасибо.
Go to the top of the page
 
+Quote Post



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

 


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


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