瑞萨单片机论坛
直播中

张鹏正

1年用户 52经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表 嵌入式技术 制造/封装 模拟技术 连接器
私信 关注

【RA4L1-SENSOR】SPI驱动点屏(SCI外设)

开发板这里引出了SPI5的接口,正好用来点屏
image.png

这里使用的是1.9寸ST7789驱动的320x170TFT屏
IMG_20250616_084325.jpg

这里SPI使用的是SCI-SPI5(SCI,意为串行通信接口, 是相对与并行通信的概念,是串行通信技术的一种总称,包括了UART,SPI,I2C等串行通信技术。)

引脚连接

P509---SCL

P302---SDA

P508---CS(使用软件CS控制,而非硬件)

P505---DC

配置流程
image.png
image.png
image.png
image.png

SPI0改为SPI5,后面参数按图选择,波特率可任意选择(最大不能超过20MHZ)

具体代码就不展示了,网上很多,直接上视频

遇到的问题,发送颜色数据是16位的,而发送函数有个参数可以选择16位
image.png
image.png

于是,我这样用

uint16_t dat = 0xaaaa;
	R_SCI_SPI_Write(g_spi5.p_ctrl,&dat,1,SPI_BIT_WIDTH_16_BITS);

却发现刷屏总是很大偏差,用逻辑分析仪观察SPI信号,发现只发送了8位,于是我再看下函数描述,bit_width是指byte的个数

于是要发送16位,应该这样用

g_spi5.p_api->write(g_spi5.p_ctrl,&dat,2,SPI_BIT_WIDTH_16_BITS);

VID_20250615_204004

更多回帖

发帖
×
20
完善资料,
赚取积分