查看: 3202|回复: 2

[MPC] MPC5646C 测试SPI PCR端如何配置?感激不尽

[复制链接]

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-8-11
发表于 2016-4-8 17:06:30 | 显示全部楼层 |阅读模式
各位大神好,
       我是一个初学者,学习也是工作的一部分,附件是代码,想测试SPI通信,但看了官方的手册还是云里雾里的,
       对于DSPI PIN角的配置不太明白,请指教,在下感激不尽,例如下面代码:

SIU.PCR[13].R = 0x1204;        /* MPC56xxB: Config pad as DSPI_0 SOUT output */
  
  SIU.PCR[12].R = 0x0106;        /* MPC56xxB: Config pad as DSPI_0 SIN input */
  
  SIU.PCR[14].R = 0x1204;        /* MPC56xxB: Config pad as DSPI_0 SCK output */
  SIU.PSMI[5].R = 1;             /* MPC56xxB: Select PCR 14 for DSPI_0 SCK output */
  
  SIU.PCR[15].R = 0x1204;        /* MPC56xxB: Config pad as DSPI_0 PCS0 output */   
  SIU.PSMI[6].R = 1;             /* MPC56xxB: Select PCR 15 for DSPI_0 SS output */

我知道答案 目前已有2人回答

demoGD5646C_DSPI.zip

180.63 KB, 下载次数: 7, 下载积分: 威望 1

模板代码

回复

使用道具 举报

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-8-11
 楼主| 发表于 2016-4-11 14:29:58 | 显示全部楼层
问题已经解决,下面代码是已经验证过的,感谢关注!
void initDSPI_0(void) {
  DSPI_0.MCR.R = 0x80010001;     /* Configure DSPI_0 as master */
  DSPI_0.CTAR[0].R = 0x780A7727; /* Configure CTAR0  */
  DSPI_0.MCR.B.HALT = 0x0;             /* Exit HALT mode: go from STOPPED to RUNNING state*/
  SIU.PCR[13].R = 0x0604;        /* MPC5646C: Config pad as DSPI_0 SOUT output */
  SIU.PCR[12].R = 0x0103;        /* MPC5646C: Config pad as DSPI_0 SIN input */
  SIU.PCR[14].R = 0x0604;        /* MPC5646C: Config pad as DSPI_0 SCK output */
  SIU.PCR[15].R = 0x0604;        /* MPC5646C: Config pad as DSPI_0 PCS0 output */       
}

void initDSPI_1(void) {
  DSPI_1.MCR.R = 0x00010001;     /* Configure DSPI_1 as slave */
  DSPI_1.CTAR[0].R = 0x01EE;     /* Configure CTAR0  */
  DSPI_1.MCR.B.HALT = 0x0;             /* Exit HALT mode: go from STOPPED to RUNNING state*/
  SIU.PCR[68].R = 0x0903;        /* MPC5646C: Config pad as DSPI_1 SCK input */
  SIU.PSMI[7].R = 1;             /* MPC5646C: Select PCR 68 for DSPI_1 SCK input */
  SIU.PCR[36].R = 0x0103;        /* MPC5646C: Config pad as DSPI_1 SIN input */
  SIU.PSMI[8].R = 0;             /* MPC5646C: Select PCR 8 for DSPI_1 SIN input */
  SIU.PCR[37].R = 0x0604;        /* MPC5646C: Config pad as DSPI_1 SOUT output*/
  SIU.PCR[69].R = 0x0903;        /* MPC5646C: Config pad as DSPI_1 PCS0/SS input */
  SIU.PSMI[9].R = 2;             /* MPC5646C: Selec PCR 15 for DSPI_1 SS input */
}
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

31

帖子

0

注册会员

Rank: 2

积分
70
最后登录
2018-5-2
发表于 2016-4-11 14:42:55 | 显示全部楼层
恭喜楼主解决问题,参考一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 19:29 , Processed in 0.087930 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表