Есть дисплей LCD HY32C с контроллером touch panel ads7843, работающей по SPI.
во всех примерах что я нашел какая-то совершенно разная информация по регистрам в примерах.
В даташите также невнятное описание.
Подскажите что я делаю неправильно, что у меня вместо координат вылазит какойто бред?
#include "mbed.h"
Serial pc(SERIAL_TX, SERIAL_RX);
SPI panel(SPI_MOSI, SPI_MISO, SPI_SCK);
InterruptIn TP_IRQ(PB_12);
DigitalOut TP_CS(PB_6);
void tp_tap(void)
{
unsigned short X, Y;
panel.write(0x90);
X = panel.write(0xFF);
X<<=8;
X += panel.write(0x00);
X=X>>4;
pc.printf("X=%d, ", X);
panel.write(0xD0);
Y = panel.write(0x00);
Y<<=8;
Y += panel.write(0x00);
Y=Y>>4;
pc.printf("Y=%d\n", Y);
}
int main(){
TP_CS=0;
panel.format(12, 0);
TP_IRQ.fall(&tp_tap);
while(1){ }
}