首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STM8S103F3P6单片机与电子墨水显示器接口中的问题

STM8S103F3P6单片机与电子墨水显示器接口中的问题
EN

Stack Overflow用户
提问于 2021-01-06 13:00:22
回答 1查看 196关注 0票数 0

我使用的是Waveshare 1.54“ePaper模块。使用SPI外围设备:

  • CPU freq是由8
  • MSB FIRST
  • CPOL=0,CPHA=1

设计的16 MSB

  • SPI预分频器DIV

显示没有响应,但它使用TI CC1310正确地响应。SPI的问题是在传输字节后,它没有进入理想的高状态。

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

因此,SPI被初始化:

代码语言:javascript
复制
/****************** 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);
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-06 23:35:01

这与您在Issue in interfacing SPI e-ink display with PIC 18F46K22中只在不同处理器上遇到的问题几乎完全相同。值得注意的是,STM8上的CPHA与PIC18上的CPE具有相反的含义,这可能是导致您的错误的原因。也就是说,CPHA=1在STM8上的作用与CKE=0在PIC18上的作用相同。你真的必须仔细地看每一部分的时间图。

来自https://www.waveshare.com/wiki/1.54inch_e-Paper_Module

与STM8参考手册相比:

显然,你需要以下其中之一:

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

)

如果SCLK是你想要的-高,那么你需要第一个选项-虽然我不明白为什么这是“理想”,波形图清楚地表明,两者都是可以接受的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65596251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档