微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > 展讯手机平台交流 > SC6531平台SPI0_CS1无法使用

SC6531平台SPI0_CS1无法使用

时间:10-02 整理:3721RD 点击:
SC6531平台,使用SPI0_1接口进行TFT液晶屏幕驱动,向SPI总线写数据,用示波器测试总线上无数据。调试了好久也没有进展,还请做过的给指点一下。测试驱动代码如下:

  1.                         kal_uint8 temp = 0xAA;
  2.                         T_spi_dev spi_dev;
  3.                         SPI_PAD_CFG_T pad_cfg;
  4.                         uint32 spi_arg;                       
  5.                         spi_dev.dev.id = SPI0_1_CS0;
  6.                     spi_dev.dev.mode = CPOL0_CPHA0;
  7.                     spi_dev.dev.tx_bit_length = 8;
  8.                     spi_dev.dev.freq = 24000000;
  9.                     spi_dev.dev.spi_cs_cb = PNULL;
  10.                     spi_dev.dev.spi_tx_cb = PNULL;
  11.                     spi_dev.dev.spi_rx_cb = PNULL;                       
  12.                         CHIP_REG_AND(PIN_LCMD1_REG,0);
  13.                         CHIP_REG_AND(PIN_LCMD2_REG,0);
  14.                         CHIP_REG_AND(PIN_LCMD3_REG,0);
  15.                         CHIP_REG_AND(PIN_LCMD5_REG,0);
  16.                         CHIP_REG_OR(PIN_LCMD1_REG,( PIN_SLP_Z | PIN_SPD_EN | PIN_SPO_X | PIN_FUNC_1 | PIN_FPX_EN | PIN_DS_2 | PIN_SPC_EN));// GPIO_54 :
  17.                         CHIP_REG_OR(PIN_LCMD2_REG,( PIN_SLP_Z | PIN_SPD_EN | PIN_SPO_X | PIN_FUNC_1 | PIN_FPX_EN | PIN_DS_2 | PIN_SPC_EN));// GPIO_55 :
  18.                         CHIP_REG_OR(PIN_LCMD3_REG,( PIN_SLP_O | PIN_SPX_EN | PIN_SPO_X | PIN_FUNC_1 | PIN_FPX_EN | PIN_DS_2 | PIN_FPC_EN));// GPIO_56 :
  19.                         CHIP_REG_OR(PIN_LCMD5_REG,( PIN_SLP_Z | PIN_SPD_EN | PIN_SPO_X | PIN_FUNC_1 | PIN_FPD_EN | PIN_DS_1 | PIN_SPC_EN));// GPIO_58 :
  20.                         if ( spi_dev.handle != INVALID_SPI_HANDLE )
  21.                         {
  22.                                 fd_spi_close(&spi_dev);
  23.                                
  24.                                 spi_dev.handle = INVALID_SPI_HANDLE;
  25.                         }
  26.                         if ( !fd_spi_init(&spi_dev) )
  27.                         {
  28.                                 fd_uart_printf("SPI总线创建失败\r\n");
  29.                                 return FALSE;
  30.                         }
  31.                         else
  32.                                 fd_uart_printf("SPI总线创建成功");
  33.                         //set txt mode
  34.                         spi_arg = SPI_TX_ONLY;
  35.                         SPI_HAL_Ioctl (SPI0_1_CS0, SPI_CTL_S_TRANSMODE, &spi_arg);                               
  36.                         spi_arg = SPI_CS_LOW;
  37.                         SPI_HAL_Ioctl(SPI0_1_CS0, SPI_CTL_S_CS, &spi_arg);       
  38.                         SPI_HAL_Write(SPI0_1_CS0,&temp,1);
  39.                         spi_arg = SPI_CS_HIGH;
  40.                         SPI_HAL_Ioctl(SPI0_1_CS0, SPI_CTL_S_CS, &spi_arg);       
  41.                         fd_spi_close(&spi_dev);

复制代码

提CQ。

提CQ啊。

按照他们说的修改了,还是不行,然后他就说按照他们的参考设计来,关键就是按他们的参考设计做的驱动。

提供下pinmap

还有你问的问题到底是CS脚不好使还是SPI不好使啊?

参考spi_hal_test.c

这个官方代码有问题,我们已经搞定全部的SPI口功能。有需要可以现场支持IDH

路过。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top