This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们在 mcu1_0中使用 mcu_spi0总线主模式 、但在基本代码中、这些引脚已配置为 GPIO、因此首先我在 J721S2_pinmux_data.c 中将这些引脚配置为 mcu_spi0总线 、但它现在测试了低电平、为什么?
1、这里有一些代码要等待从机准备就绪,需要这个代码吗? 我修改示例代码 main_mcspi_slave_mode.c
#如果 需要1 //此代码?
#if defined (SOC_J721E)|| defined (SOC_J7200)|| defined (SOC_J721S2)|| defined (SOC_J784S4)
while (*((volatile uint32_t *)(MCSPI_SYNC_ADDR))!= 0x1234U)
{
appLogPrintf ("dengyongde masterTaskFxn SPI_task 、而任务生成%x!!!\n"、*(volatile uint32_t *)(MCSPI_SYNC_ADDR));
#if 定义(RTOS_ENV)
taskp_yelle();
#endif
/*等待从机启动。 */
CacheP_Inv ((void *) MCSPI_SYNC_ADDR、4);
appLogPrintf ("dengyongde masterTaskFxn SPI_task11 、而任务生成%x!!!\n"、*(volatile uint32_t *)(MCSPI_SYNC_ADDR));
}
#if 定义(RTOS_ENV)
/*在同步后添加小延迟。
*在主设备启动传输之前从设备准备就绪。 */
TaskP_sleepInMsecs (1000);
#endif
#endif
#endif
2,---------------- 接下来是配置引脚多路复用
#if 1.
静态 pinmuxPerCfg_t gMcu_spi0PinCfg[]=
{
/* MyWKUP_GPIO0 -> WKUP_GPIO0_69 -> B25 */
{
PIN_MCU_SPI0_CLK、PIN_MODE (0)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
}、
#if 0
/* MyWKUP_GPIO0 -> WKUP_GPIO0_70 -> B26 */
{
PIN_MCU_SPI0_CS0、PIN_MODE (0)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
}、
#endif
#if 1.
/* MyMCU_UART0 -> MCU_UART0_TXD -> C25 CS1*/
{
PIN_WKUP_GPIO0_12、PIN_MODE (1)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
}、
#endif
/* MyWKUP_GPIO0 -> WKUP_GPIO0_55 -> D24 */
{
PIN_MCU_SPI0_D0、PIN_MODE (0)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
}、
/* MyWKUP_GPIO0 -> WKUP_GPIO0_69 -> B25 */
{
PIN_MCU_SPI0_D1、PIN_MODE (0)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
}、
{PINMUX_END}
};
静态 pinmuxModuleCfg_t gMcu_spi0mPinCfg[]={
{0、true、gMcu_spi0PinCfg}、
{PINMUX_END}
};
#endif
3、
此外、我还在代码中找到一些配置、两个偏移是正确的吗? 为什么不选择0xA0 0xA8。
#define MCU_SPI0_CLK_PADCFG_OFFSET (0x90U)
#define MCU_SPI0_D1_PADCFG_OFFSET (0x98U)
因为 B25 0x4301C0A8是 MCU_spi0_D1、所以它应该是0xA8
#if 1.
#if defined (SOC_AM65XX)|| defined (SOC_J721E)|| defined (SOC_J7200)|| defined (SOC_J721S2)|| defined (SOC_J784S4)
#if ((__arm_arch == 7)&&(__arm_arch_profile =='R')
/*配置 MCU SPI0_D1引脚多路复用、因为电路板中默认未设置该引脚复用*/
HW_WR_REG32 ((WKUP_PINMUX_REG_BASE + MCU_SPI0_D1_PADCFG_OFFSET)、PIN_MODE (0)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION));
/*配置 MCU SPI0_CLK 引脚多路复用以支持环回*/
HW_WR_REG32 ((WKUP_PINMUX_REG_BASE + MCU_SPI0_CLK_PADCFG_OFFSET)、PIN_MODE (0)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION));
#endif
#endif
#endif
您好!
我是否可以知道您使用的是 PDK SPI 或 MCAL SPI 的哪个 SPI 驱动程序? 这是哪个 SDK 版本?
此致
Tarun Mukesh
我使用此驱动程序 "tda4-s2/rtos-sdk/pdk_j721s2/packages/ti/drv/spi" 并参考示例 main_mcspi_slave_mode.c 。 SDK 版本为8.6
此外、 我没有找到如何 在 SPI_v1_HWAttrs 中配置 MCU_SPI0_CS0或 MCU_SPI0_CS0此结构 、但我 在 OSPI_V0_HwAttrs 结构中找到了芯片选择。 如何设置 SPI 驱动器中的哪种 C?
以及如何在 SPI 驱动器中添加日志
您好!
我们在 MCAL 中有 SPI 驱动程序、我们还有相应的示例以及 mcusw/mcal_drv/mcal/examples/spi/mcspi_app/soc/j721s2/mcu1_0/McspiApp_Startup.c
其中 mcusw/mcal_drv/mcal/examples_config/SPI_Demo_Cfg/output/soc/j721s2/mcu1_0/src/spi_Cfg.c 中存在 API
此致
Tarun Mukesh
您好!
您可以使用 在主模式下使用 MCU_spi0 作为环回的 MCAL 驱动程序示例吗?
此致
Tarun Mukesh