Zloj_ya (14.02.2005 20:00, просмотров: 1) ответил Zloj_ya на Блин, да что же это такое с PENIRQ в ADS7843 ?! Сплошное издевательство!
Ответ: Сорри, код подпрограммы не пропечатался. //-------------------------------------------------
//Подпрограмма "read_touch" ДЛЯ ADS7843
//-------------------------------------------------
void read_touch()// команда опроса сенсорной панели
{
unsigned char a;
unsigned char i;
a = TRISC; // сохранение настроек RC до вызова подпрограммы
TRISC = 0b11010011; // настр.SDO/RC5 - на вывод, SDI/RC4 - на ввод,
// SCK/RC3 - на вывод, CS_TOUCH/RC2 - оставить на вывод
CS_TOUCH = 1; // запретить выбор ADS7843
SSPSTAT = 0b01000000;
SSPCON1 = 0b00100001; // Скорость тактов SPI 20/16=1,25 МГц
BF = 0; // очистить флаг завершения приема/передачи
CS_TOUCH = 0; // разрешить выбор ADS7843
for (i=0;i<50;i++); // задержка
SSPBUF = 0b10010100; // тестовая настройка
while(!BF);// Ожидание, пока завершится прием/передача команды
BF = 0; // очистить флаг завершения приема/передачи
SSPBUF = 0; // Инициируем прием старшего байта
while(!BF);// Ожидание, пока завершится прием/передача команды
BF = 0; // очистить флаг завершения приема/передачи
SSPBUF = 0; // Инициируем прием старшего байта
while(!BF);// Ожидание, пока завершится прием/передача команды
BF = 0; // очистить флаг завершения приема/передачи
}