[RISC-V MCU 应用开发] 关于全志D1的SPI通讯问题

[复制链接]
 楼主| 神棍地海棠 发表于 2023-1-29 10:27 | 显示全部楼层 |阅读模式
D1的SPI,空闲的时候是低电平,而且每个字节CLK 有9个脉冲,如图所示:
6e04262dd9074952904f558e23e89ef5.png

以下是SPI的配置
7c4a2af1009d405b87745db7bc9b3d35.png


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

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

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

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

  1. <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>;

您需要登录后才可以回帖 登录 | 注册

本版积分规则

284

主题

292

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部