#ifndef _DATATYPE
#include "DataType.h"
#endif
#include "C5416.h"
UInt16 RegCopy=0xffff;
void DelaynS(UInt32 uwCNT)
{
UInt32 uwCounter;
for(uwCounter=0;uwCounter<uwCNT;)
uwCounter++;
}
/*For SPI Master Test*/
void SPIModInit_McBSP0(void)
{
UInt16 uwTemRegst;
*(int *)MCBSP0_SPSA = MCBSP_SPCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xfffe);/*set RRST=0*/
*(int *)MCBSP0_SPSA = MCBSP_SPCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xfffe);/*set XRST=0*/
*(int *)MCBSP0_SPSA = MCBSP_SPCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x1000);/*set CLKSTP=10*/
*(int *)MCBSP0_SPSA = MCBSP_SPCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xF7FF);/*set CLKSTP=10*/
*(int *)MCBSP0_SPSA = MCBSP_PCR_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xFFFD);/*set CLKXP=0*/
*(int *)MCBSP0_SPSA = MCBSP_PCR_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0200);/*set CLKXM=1*/
*(int *)MCBSP0_SPSA = MCBSP_RCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xFF3F);/*set RWDLEN1=001,12 Bits per World*/
*(int *)MCBSP0_SPSA = MCBSP_RCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0020);/*set RWDLEN1=001,12 Bits per World*/
*(int *)MCBSP0_SPSA = MCBSP_XCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xFF3F);/*set XWDLEN1=001,12 Bits per World*/
*(int *)MCBSP0_SPSA = MCBSP_XCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0020);/*set XWDLEN1=001,12 Bits per World*/
*(int *)MCBSP0_SPSA = MCBSP_SRGR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x2000);/*set CLKSM=1*/
*(int *)MCBSP0_SPSA = MCBSP_SRGR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0008);/*set CLKGDV=0xFF*/
*(int *)MCBSP0_SPSA = MCBSP_PCR_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0800);/*set FSXM=1*/
*(int *)MCBSP0_SPSA = MCBSP_SRGR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xEFFF);/*set FSGM=0*/
*(int *)MCBSP0_SPSA = MCBSP_PCR_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0008);/*set FSXP=1*/
*(int *)MCBSP0_SPSA = MCBSP_XCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0001);/*set XDATDLY=01*/
*(int *)MCBSP0_SPSA = MCBSP_XCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xFFFD);/*set XDATDLY=01*/
*(int *)MCBSP0_SPSA = MCBSP_RCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0001);/*set RDATDLY=01*/
*(int *)MCBSP0_SPSA = MCBSP_RCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst & 0xFFFD);/*set RDATDLY=01*/
*(int *)MCBSP0_SPSA = MCBSP_SPCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0040);/*set GRST=1*/
DelaynS(5000);
*(int *)MCBSP0_SPSA = MCBSP_SPCR1_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0001);/*set RRST=1*/
*(int *)MCBSP0_SPSA = MCBSP_SPCR2_SUB_ADDR;
uwTemRegst = *(int *)MCBSP0_SPSD;
*(int *)MCBSP0_SPSD = (uwTemRegst | 0x0001);/*set XRST=1*/
DelaynS(5000);
}
void main(void)
{
UInt16 i;
asm(" RSBX XF");
asm(" NOP");
asm(" NOP");
asm(" NOP");
asm(" NOP");
SPIModInit_McBSP0();
asm(" NOP");
asm(" NOP");
asm(" NOP");
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0507;
DelaynS(0x5000);
asm(" NOP");
while(1)
{
*(int *)MCBSP0_DXR1 = 0x0507;
DelaynS(0x5000);
asm(" NOP");
for(i=0;i<2;i++)
{
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0c27;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0847;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0a27;
DelaynS(0x50000);
asm(" NOP");
}
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0507;
DelaynS(0x5000);
asm(" NOP");
for(i=0;i<2;i++)
{
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0a07;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0e27;
DelaynS(0x50000);
asm(" NOP");
}
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0507;
DelaynS(0x5000);
asm(" NOP");
for(i=0;i<2;i++)
{
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
*(int *)MCBSP0_DXR1 = 0x0c47;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0e47;
DelaynS(0x50000);
asm(" NOP");
}
*(int *)MCBSP0_DXR1 = 0x0507;
DelaynS(0x5000);
asm(" NOP");
for(i=0;i<20;i++)
{ *(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0a27;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0a07;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0707;
DelaynS(0x50000);
asm(" NOP");
*(int *)MCBSP0_DXR1 = 0x0e07;
DelaynS(0x50000);
asm(" NOP");
}
DelaynS(0x50000);
asm(" NOP");
}
}
SPI-test.rar_spi
版权申诉
40 浏览量
2022-09-20
20:17:46
上传
评论
收藏 318KB RAR 举报
weixin_42651887
- 粉丝: 79
- 资源: 1万+
最新资源
- 设计1.ms14
- vscode-1.64.1.tar源码文件
- vscode-1.64.0.tar源码文件
- vscode-1.52.0.tar源码文件
- Music-Player +PlayerActivity+ rockplayer+ SeeJoPlayer 播放器JAVA源码
- vscode-1.46.0.tar源码文件
- 最近很火植物大战僵尸杂交版2.08苹果+安卓+PC+防闪退工具V2+修改工具+高清工具+通关存档整合包更新
- 超级好用的截图工具PixPin,可录制Gif图
- Screenshot_2024-05-21-17-06-42-64_2332cb9b27b851b548ba47a91682926c.jpg
- 毕业设计参考 - 基于树莓派、OpenCV及Python的人脸识别
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈