电子墨水显示器与 STM8S103F3P6 微控制器的接口问题

如何解决电子墨水显示器与 STM8S103F3P6 微控制器的接口问题

我使用的是 Waveshare 1.54" 电子纸模块。使用 SPI 外设:

  • cpu 频率为 16Mhz
  • 8 的 SPI 预分频器 DIV
  • MSB 优先
  • CPOL=0,CPHA=1

显示器没有响应,但它以 TI CC1310 正确响应。 SPI 的问题是传输字节后没有进入理想的高电平状态。

我已经用逻辑分析仪检查过。

enter image description here

enter image description here

SPI 初始化如下:

/****************** Initializing The SPI Peripheral ******************/

void SPI_setup(void)
{
    CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI,ENABLE);  //Enable SPI Peripheral Clock
    //Set the MOSI,MISO and SCk at high Level.
    //GPIO_ExternalPullUpConfig(GPIOC,(GPIO_Pin_TypeDef)(GPIO_PIN_6),ENABLE);
    SPI_DeInit();
    SPI_Init(SPI_FirsTBIT_MSB,//Send MSB First
             SPI_BAUdratEPRESCALER_8,//Fosc/16 = 1MHz
             SPI_MODE_MASTER,SPI_CLOCKPOLARITY_LOW,//IDEAL Clock Polarity is LOW
             SPI_CLOCKPHASE_2EDGE,//The first clock transition is the first data capture edge
             SPI_DATADIRECTION_2LInes_FULLDUPLEX,//Only TX is Enable 
             SPI_NSS_SOFT,0x00);
    SPI_Cmd(ENABLE);
}

解决方法

这与您在 Issue in interfacing SPI e-ink display with PIC 18F46K22 上遇到的问题几乎相同,只是在不同的处理器上。值得注意的是,STM8 上的 CPHA 与 PIC18 上的 CPE 具有相反的意义,这可能是您出错的原因。也就是说STM8上的CPHA=1和PIC18上的CKE=0效果是一样的。你真的必须仔细查看每个部分的时序图。

来自https://www.waveshare.com/wiki/1.54inch_e-Paper_Moduleenter image description here

对比STM8参考手册: enter image description here

显然您需要以下之一:

  • CPHA=1 / CPOL=1 (SPI_CLOCKPOLARITY_HIGH / SPI_CLOCKPHASE_2EDGE) 或
  • CPHA=0 / CPOL=0 (SPI_CLOCKPOLARITY_LOW / SPI_CLOCKPHASE_1EDGE)

如果您想将 SCLK 设为常高,那么您需要第一个选项 - 尽管我不明白为什么这是“理想的”,但 Waveshare 图清楚地表明两者都可以接受。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?