zoukankan      html  css  js  c++  java
  • stm32f103 SPI单线TX发数据来驱动LCD

    有一黑白LCD,有CS/SI/SCK三线,时序满足SPI时序,但STM32的SPI有四线NSS/MOSI/SCK/MISO,这里MISO没有用到。因此可以使用SPI的单线发送模式进行驱动LCD。

    关键代码如下:

    /* SPI_MASTER configuration -*/
          SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx;//这里使用单线发送模式
          SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
          SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
          SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
          SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
          SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
          SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;
          SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;
          SPI_Init(SPI1, &SPI_InitStructure);
    
          /* Enable SPI_MASTER */
          SPI_Cmd(SPI1, ENABLE);

    经试验发现,在单线模式下,只能使用SPI_I2S_FLAG_BSY标志来判断设备是否空闲,而不能使用SPI_I2S_FLAG_TXE发送完成标志。

    SPI1->DR = byte;
        while((SPI1->SR & SPI_I2S_FLAG_BSY) != RESET);  //等待SPI忙完,这里不能使用SPI_I2S_FLAG_TXE发送完成标志,只能使用SPI_I2S_FLAG_BSY标志 

    记录在此,以防忘记。

  • 相关阅读:
    数据结构 零散4(数组)
    数据结构 零散3(链表)
    数据结构 零散2(哈希表)
    数据结构 零散1(栈)
    javaweb2 URL(查找的过程)
    javaWeb1 tomcat
    vim正则表达式的替换变量
    vi搜索统计个数
    Openwrt修改默认IP,主机名,密码
    vi里面对列排序
  • 原文地址:https://www.cnblogs.com/swblog/p/3344736.html
Copyright © 2011-2022 走看看