[an error occurred while processing this directive]
PIC18F252 связь по I2C с PCF8531
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Жданько 12 апреля 2006 г. 13:48

Здравствуйте Уважаемые!

Изготовляю макет для дипломного проекта. Все готово, кроме связи с дисплеем, время начинает поджимать уповаю на Вас мужики.
Ниже небольшой код программы связи по I2C pic18f252 c дисплеем PCF8531, контроллер дисплея TIC32. Код в одном из вариантов, которых я массу пробовал! В чём тут засада?
Я пробовал писать цикл в ожидании флага, подключал светодиод, чтобы его отследить. Может подскажете как проверить ответ ведомого(дисплея)? Пример программы у меня есть, но там на pic16.

#include
long int k;

void i2c_wait (void) //ожидание флага SSPIF после бита адреса и после бита стоп
{
while(PIR1bits.SSPIF==1)
{
PIR1bits.SSPIF=0; //сброс флага
}
}


void i2c_start(void) //старт i2c бит SEN ставим в 1 и переходим в ожидание SSPIF
{
SSPCON2bits.SEN=1;
i2c_wait();
}


void main()
{
TRISB=0x00;
PORTC=0;
PORTB=0b00111000;
TRISC=0b00011000; // RC3 RC4 как входы

SSPCON1= 0b00101000; // вкл модуль MSSP,вкл ведущий режим
SSPADD=39; // расчитан для частоты 100 кГц

PORTCbits.RC6=1; //выводим LCD из сброса


i2c_start(); //запуск(старт) i2c
SSPBUF=0x78; //адрес, как в документации 0х78 или 0х7А-результата нет
i2c_wait(); //ждем флаг SSPIF после старта

//тут пишу передачу команд и данных как положено с контрольными байтами и ожиданием флага

SSPCON2bits.PEN=1; //стоп i2c
i2c_wait(); //ожидание SSPIF
}
Буду очень благодарен за ответ. Можно и по почте. Моя почта www.1808.00@mail.ru.

Составить ответ  |||  Конференция  |||  Архив

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru