在线时间27 小时
UID198020
注册时间2007-7-22
NXP金币0
该用户从未签到
中级会员
- 积分
- 386
- 最后登录
- 2023-9-12
|
楼主 |
发表于 2023-4-23 10:42:20
|
显示全部楼层
本帖最后由 hpdell 于 2023-4-23 10:49 编辑
其他几个 spi 接口的 从器件的 cs 管脚我目前都是 职高不操作的,其他几个 spi 的丛器件 的cs 管脚我使用的普通 io 功能 来控制的
现在就是 单独的 软件控制 pcs0 管脚(不使用sdk 库控制 cs 模式)读写数据也是失败的,
就是用户在读写 前 吧
#define IOMUXC_GPIO_LPSPI1_PCS0 IOMUXC_GPIO_AD_29_GPIO9_IO28 // cs0 片选 软件用户控制
#define LPSPI1_GPIO_CS0 GPIO9
#define LPSPI1_GPIO_CS0_PIN (28U)
CS_L ;
bsp_spi1_ReadWriteByte(0x25); // 就这样数据貌似发送不出去 ???
CS_H ;
bsp_gpio_mode_config(LPSPI1_GPIO_CS0, // GPIO_Type *base,
LPSPI1_GPIO_CS0_PIN, //uint32_t pin,
kGPIO_DigitalOutput, //gpio_pin_direction_t direction,
1U, //uint8_t outputLogic,
kGPIO_NoIntmode //gpio_interrupt_mode_t interruptMode 普通 io 模式,不使用中断
);
IOMUXC_SetPinMux(
IOMUXC_GPIO_LPSPI1_PCS0, /* GPIO_AD_29 is configured as LPSPI1_PCS0 */
0U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinConfig( // 上拉
IOMUXC_GPIO_LPSPI1_PCS0, /* GPIO_AD_29 PAD functional properties : */
0x0AU); /* Slew Rate Field: Slow Slew Rate
Drive Strength Field: high drive strength
Pull / Keep Select Field: Pull Disable, Highz
Pull Up / Down Config. Field: Weak pull up
Open Drain Field: Disabled
Domain write protection: Both cores are allowed
Domain write protection lock: Neither of DWP bits is locked */
uint8_t bsp_spi1_ReadWriteByte(uint8_t TxData)
{
uint8_t spirxdata = 0;
uint8_t spitxdata = TxData;
lpspi_transfer_t spi_tranxfer;
spi_tranxfer.configFlags = EXAMPLE_LPSPI_MASTER_PCS_FOR_TRANSFER|kLPSPI_MasterPcsContinuous; //PCS1
spi_tranxfer.txData = &spitxdata; //要发送的数据
spi_tranxfer.rxData = &spirxdata; //接收到的数据
spi_tranxfer.dataSize = 1; //数据长度
LPSPI_MasterTransferBlocking(EXAMPLE_LPSPI_MASTER_BASEADDR,&spi_tranxfer); //SPI阻塞发送
return spirxdata;
}
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
//GPIO_AD_29(coordM17),LPSPI1_PCS0/U27[1]/J10[6]/J10[3]/WL_HOST_WAKE/U16[27]/WIFI_WAKE_B_3
#define IOMUXC_GPIO_LPSPI1_PCS0 IOMUXC_GPIO_AD_29_LPSPI1_PCS0 // cs0 片选硬件自动控制
如果吧 cs0 配置成这样读写是正常的,但是这样的话,就只能操作一个 spi 设备了,
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
看资料也没有找到哪里可以取消 硬件控制模式的 寄存器呀 。。。 ??
|
|