打印
[RISC-V MCU 应用开发]

关于全志D1的SPI通讯问题

[复制链接]
986|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
D1的SPI,空闲的时候是低电平,而且每个字节CLK 有9个脉冲,如图所示:


以下是SPI的配置



如果想将空闲时变成高电平,以及每个字节的CLK设为8个,可以尝试通过一下两个角度去分析。

SPI通讯的问题首先考虑是不是 spi_dbi_enable 的问题,目前 spi_dbi_enable 设置的是1,在将 spi_dbi_enable 设置为0后CLK,MOSI都没有数据了。


其实spi_dbi_enable是spi lcd显示屏专用的驱动,配置两个逻辑不太一样

配置lcd屏幕需要单独写lcd的配置

<div>&lcd_fb0 {</div><div><span style="white-space:pre">        </span>lcd_used = <1>;</div><div><span style="white-space:pre">        </span>lcd_driver_name = "kld2844b";</div><div><span style="white-space:pre">        </span>lcd_if = <1>;</div><div><span style="white-space:pre">        </span>lcd_dbi_if = <4>;</div><div><span style="white-space:pre">        </span>lcd_data_speed = <60>;</div><div><span style="white-space:pre">        </span>lcd_spi_bus_num = <1>;</div><div><span style="white-space:pre">        </span>lcd_x = <240>;</div><div><span style="white-space:pre">        </span>lcd_y = <320>;</div><div><span style="white-space:pre">        </span>lcd_width = <60>;</div><div><span style="white-space:pre">        </span>lcd_height = <95>;</div><div><span style="white-space:pre">        </span>lcd_pwm_used = <1>;</div><div><span style="white-space:pre">        </span>lcd_pwm_ch = <7>;</div><div><span style="white-space:pre">        </span>lcd_pwm_freq = <5000>;</div><div><span style="white-space:pre">        </span>lcd_pwm_pol = <0>;</div><div><span style="white-space:pre">        </span>lcd_pixel_fmt = <0>;</div><div><span style="white-space:pre">        </span>lcd_dbi_fmt = <3>;</div><div><span style="white-space:pre">        </span>lcd_rgb_order = <0>;</div><div><span style="white-space:pre">        </span>lcd_frm = <1>;</div><div><span style="white-space:pre">        </span>lcd_gamma_en = <1>;</div><div><span style="white-space:pre">        </span>fb_buffer_num = <2>;</div><div><span style="white-space:pre">        </span>lcd_backlight = <100>;</div><div><span style="white-space:pre">        </span>lcd_dbi_te = <1>;</div><div><span style="white-space:pre">        </span>lcd_fps = <60>;</div><div><span style="white-space:pre">        </span>lcd_gpio_0 = <&pio PC 0 GPIO_ACTIVE_HIGH>;  // reset</div><div><span style="white-space:pre">        </span>status = "okay";</div><div>};</div>


另外检查一下,spi-rx-bus-width=<0x04>是四线spi驱动,需要确认从机是4bit SPI <D0 D1 D2 D3 CLK CS>,否则请改成 spi-rx-bus-width=<0x01>;

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

260

主题

268

帖子

0

粉丝