SPI的DC与通讯速率有关



  • 现在使用SPI通讯时,因为DC是使用IO自定义高低,所以在速率低时会有IO状态改变提前的问题。
    [4M速率时的截图](0_1584607185466_4M.png 图片地址)
    06是命令字,但DC IO状态在一半时就已经改变

    [8M速率时的截图](0_1584607270887_8M.png 图片地址)
    这是命令字的DC波形就是完整的。

    请教如何可以改善



  • 一般在DC值需要改变时,可以加一个延时,如下
    void LCD_DriverWriteCmd(uint8_t cmd)
    {
    if(dc_value==DC_DATA)
    {
    cpu_delay(10); //for 24Mhz. mask this, lower speed ,need this
    LCD_DC_CMD; //change DC value
    dc_value = DC_CMD; //record current DC value.
    }
    ssp_put_byte_x(ssp1,cmd);
    }