[an error occurred while processing this directive]
|
Здравствуйте Уважаемые!
Изготовляю макет для дипломного проекта. Все готово, кроме связи с дисплеем, время начинает поджимать уповаю на Вас мужики.
Ниже небольшой код программы связи по I2C pic18f252 c дисплеем PCF8531, контроллер дисплея TIC32. Код в одном из вариантов, которых я массу пробовал! В чём тут засада?
Я пробовал писать цикл в ожидании флага, подключал светодиод, чтобы его отследить. Может подскажете как проверить ответ ведомого(дисплея)? Пример программы у меня есть, но там на pic16.
#include void i2c_wait (void) //ожидание флага SSPIF после бита адреса и после бита стоп SSPCON1= 0b00101000; // вкл модуль MSSP,вкл ведущий режим PORTCbits.RC6=1; //выводим LCD из сброса //тут пишу передачу команд и данных как положено с контрольными байтами и ожиданием флага SSPCON2bits.PEN=1; //стоп i2c
E-mail:
info@telesys.ru
long int k;
{
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 как входы
SSPADD=39; // расчитан для частоты 100 кГц
i2c_start(); //запуск(старт) i2c
SSPBUF=0x78; //адрес, как в документации 0х78 или 0х7А-результата нет
i2c_wait(); //ждем флаг SSPIF после старта
i2c_wait(); //ожидание SSPIF
}
Буду очень благодарен за ответ. Можно и по почте. Моя почта www.1808.00@mail.ru.
Ответы
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание