我应该使用哪些OMAP-L138寄存器来选择另一个SPI芯片



我有OMAP-L138实验套件,我想与SPI 1芯片选择1上设置的一个外围设备通信(SPI1芯片选择0上也有闪存)。

我很困惑我应该用哪些寄存器来选择芯片1?

根据OMAP-L138技术参考手册,我应该

  • 设置4针模式

    spi->SPIPC0=SOMI|SIMO|CLK|SCS0//带芯片选择的4针模式

  • 设置SPIPC0.SCS0FUN的1位,以显示SPI_CS1-是SPI功能引脚

    SETBIT(spi->SPIPC0,0x00000002);

  • 设置SPIDAT1.CSNR的17位(这意味着SPI_CS1引脚被驱动为高电平。)

    spi->SPIDAT1=0;SETBIT(spi->SPIDAT1,0x20000)//设置第17位(对应SPI_CS1)

  • 设置SPIDEF.CSDEF的1位(这意味着SPI_CS1引脚被驱动为高电平。)

    spi->SPIDEF=0;SETBIT(spi->SPIDEF,0x00000002)//设置CSDEF字段中的第一位(对应于SPI_CS1)

  • 最后,在从SPI1_CS1设备读取数据之前,我应该将SPIDAT1.CSHOLD设置为保持活动芯片选择信号

    SETBIT(spi->SPIDAT1,0x1000000)//设置代表CSHOLD 的第28位

是这样吗?还是我遗漏了什么?我可能还需要对PINMUX5(引脚多路复用控制5寄存器)做些什么吗?非常感谢。

我似乎已经想通了。

  • 在寄存器PINMUX5中设置第0位-选择函数SPI1_SCS[1]
  • 在寄存器PINMUX5中设置第4位-选择函数SPI1_SCS[0]

    EVMOMAPL138_pinmuxConfig(5,0x00FFFFF0,0x00111101)//启用芯片选择1EVMOMAPL138_pinmuxConfig(5,0x00FFFFF0,0x00111110)//启用芯片选择0

相关内容

  • 没有找到相关文章

最新更新