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

 
 
> PIC24JF64GA002 проблема с I2Cx
PoroHard
сообщение May 9 2008, 09:57
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 9-05-08
Из: Kiev
Пользователь №: 37 387



Подскажите пожалуста!

I2C2BRG = 78;
I2C2CON = 0xD200;

while (I2C2STATbits.TRSTAT); //Wait for bus Idle

I2C2CONbits.SEN = 1; //Generate Start COndition
while (I2C2CONbits.SEN); //Wait for Start COndition

После установки бита SEN на шынах SDAx, SCLx не выставляется занятие шыны.
I2C не работает.
Проблема одинаковая для I2C1 и I2C2.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
PoroHard
сообщение May 12 2008, 06:05
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 9-05-08
Из: Kiev
Пользователь №: 37 387



Доброе утро Илья.

Благодарю за ваш ответ.
Вчера мне удалось запустить I2C2, a затем I2C1. Но только путём подключения RB10 к линии SDA
и её передёргиванием после установки бита SEN.
Установка линий на вхов результатов не давала.

int main(woid)
{
ControlByte = 0x3C <<1;
TRISB = 0;
TRISB &= ~LCD_RESET;
PORTB &= ~LCD_RESET;
for(i=0; i<1000; i++);
PORTB |= LCD_RESET;
for(i=0; i<100; i++);

ODCB = 0x0400;
PORTB |= 0x0400;

I2C1BRG = 18;
I2C1CON = 0x9200;
I2C1ADD=0;
I2C1MSK=0;

PORTB &= ~0x0400;
PORTB |= 0x0400;

pBuff = init_lcd;
while (I2C1STATbits.TRSTAT); //Wait for bus Idle
I2C1CONbits.SEN = 1; //Generate Start COndition
while (I2C1CONbits.SEN); //Wait for Start COndition
while (I2C1STATbits.TRSTAT); //Wait for bus Idle
I2C1TRN = ControlByte; //Load byte to I2C1 Transmit buffer
while (I2C1STATbits.TBF); //wait for data transmission
for(i=0; i<sizeof(init_lcd); i++)
{
while (I2C1STATbits.TRSTAT); //Wait for bus Idle
I2C1TRN = *pBuff++; //Load byte to I2C1 Transmit buffer
while (I2C1STATbits.TBF); //wait for data transmission
}
while (I2C1STATbits.TRSTAT); //Wait for bus Idle
I2C1CONbits.PEN = 1; //Generate Stop Condition
while (I2C1CONbits.PEN); //Wait for Stop
}

Вечером переключю LCD на I2C2 и сообщю о результате.

С уважением PoroHard.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 10:38
Рейтинг@Mail.ru


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