TFT LCD 화면 (ILI9163c-160 * 128)을 사용하고 있습니다. athrosAR9331 모듈 spi와 연결됩니다. Athos AR9331은 OpenWRT 리눅스 배포판으로 실행됩니다. 그래서 LCD를 spidev0.1으로 운전하고 있습니다. 화면을 채우거나 LCD에 문자열을 쓰는 동안 인쇄하는 데 너무 많은 시간이 걸립니다. 따라서, 충분한 인쇄 속도를 얻으려면 어떻게해야합니까?TFT LCD 화면 관련 문제
감사합니다.
이 여기에 주요 성능 문제는 데이터의 하드 카피가 힙에 보낼 수 있도록한다는 것입니다
void spi_transactor(unsigned char *write_data, int mode,int size)
{
int ret;
struct spi_ioc_transfer xfer[4];
unsigned char *init_reg;
init_reg = (unsigned char*) malloc(size);
memcpy(init_reg,write_data,size);
if (mode)
{
gpio_set_value(_rs, 1); // DATA
}
else
{
gpio_set_value(_rs, 0); // COMMAND
}
memset(xfer, 0, sizeof xfer);
xfer[0].bits_per_word = 8;
xfer[0].tx_buf = (unsigned long)init_reg;
xfer[0].rx_buf = 0; //(unsigned long) &buf_rx[0];
xfer[0].len = size; //wlength + rlength;
xfer[0].delay_usecs = 0;
xfer[0].speed_hz = speedx; // 8MHZ
//xfer[0].speed_hz = 160000000; // 40MHZ
ret = ioctl(spi_fd, SPI_IOC_MESSAGE(1), &xfer);
gpio_set_value(_rs, 1);
}
일반적으로 말하는 것이 어렵습니다. 속도를 최대로 조정했다고 가정합니다. 가능한 한 많은 데이터를 단일 요청에 압축하려고합니까? 표시하려는 내용에 대해 최적의 표시 명령을 사용하려고합니까? – Ctx
예 ... 사실입니다. 그리고 나는 160 * 128 배열의 전체 이미지를 인쇄해야하기 때문에 가능한 한 많은 데이터를 단일 요청으로 묶으려고합니다. 그래서 나는이 덩어리를 여러 덩어리로 나누고 모든 덩어리를 하나씩 옮기는 것보다. – Logan859
그리고 * fbtft * 드라이버를 배포판에 추가하고 일반 콘솔이나 tty 창으로 사용하는 것은 무엇입니까? – 0andriy