NXP MCU 技术论坛
直播中

杨雪

8年用户 1207经验值
私信 关注
[问答]

能否帮忙提供一下TSB Configuration demo代码中MPC5575E的DSPI用法?

我正在使用 MPC5575E。能否帮忙提供一下TSB Configuration demo代码中MPC5575E的DSPI用法,以供参考?

回帖(1)

听我讲

2023-10-21 15:49:36
以下是MPC5575E的DSPI用法示例代码:

/* 初始化DSPI */

void DSPI_Initialize(void)
{
    /* 设置DSPI模块所用的时钟源 */
    MPCEVB_MIOS_PCR_0 |= 0x8; // 输出时钟源为主时钟
   
    /* 重置DSPI模块 */
    DSPI_MCR = 0x80010001; // 设置主模式、SPI协议、CS信号由软件控制、数据位宽为8-bit
   
    /* 配置时钟极性和相位 */
    DSPI_CTAR0 = 0x78000000; // 设置CPOL=1、CPHA=1
   
    /* 启用DSPI模块 */
    DSPI_MCR &= ~(0x1); // 解除DSPI模块复位
}

/* 发送DSPI数据 */

void DSPI_SendData(uint8_t data)
{
    /* 等待DSPI空闲 */
    while (!(DSPI_SR & (1 << 25)));
   
    /* 发送数据 */
    DSPI_PUSHR = (data & 0xFF);
   
    /* 等待传输完成 */
    while (!(DSPI_SR & (1 << 23)));
}

/* 接收DSPI数据 */

uint8_t DSPI_RecvData(void)
{
    uint8_t data;
   
    /* 等待DSPI空闲 */
    while (!(DSPI_SR & (1 << 25)));
   
    /* 发送空数据以触发接收 */
    DSPI_PUSHR = 0xFF;
   
    /* 等待传输完成 */
    while (!(DSPI_SR & (1 << 23)));
   
    /* 读取接收到的数据 */
    data = (DSPI_POPR & 0xFF);
   
    return data;
}

上述代码展示了如何初始化DSPI模块以及如何发送和接收数据。请根据自己的具体情况,调整代码中的相应设置。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分