在设备树中使用SPI驱动ST7735S
ST7735S的手册里,可以看到,需要配置时钟为常态高电平,上升沿采样
https://www.docin.com/p-2164574819.html
在zephyr的设备树中配置如下:
lcd_st7735:st7735@0{
compatible = "sitronix,st7735";
reg=<0>;
spi-max-frequency = <8000000>; /* 8MHz */
label = "ST7735";
reset-gpios = <&gpiob 12 GPIO_ACTIVE_HIGH>;
blk_gpios = <&gpioa 1 GPIO_ACTIVE_HIGH>;
cmd-data-gpios = <&gpioc 4 GPIO_ACTIVE_HIGH>;
width = <129>;
height = <160>;
};
在初始化的时候,需要按照ST7735的要求把采样点设置一下:
data->spi_config.frequency=DT_INST_PROP(0, spi_max_frequency);
data->spi_config.operation=SPI_OP_MODE_MASTER|SPI_WORD_SET(8)|SPI_MODE_CPHA|SPI_MODE_CPOL;//配置为第二次采样即上升沿采样,常态为高电平,具体要是再linux内核里面或者裸机,灵活改变,道理是一样的,一定要注意采样时间点
data->spi_config.slave=DT_INST_REG_ADDR(0);
好了,到此就没什么好说的了,接着玩zephyr去了。