中级会员
- 积分
- 305
- 威望
- 238
- 贡献
- 33
- 兑换币
- 6
- 注册时间
- 2010-2-3
- 在线时间
- 17 小时
|
1贡献
在线调试没有问题,点下复位,直接运行SPI四条线一点反应都没有。。。哪位大神解决一下啊。
void SPI0Init(void) //SPI0初始化函数
{
SPI0CR1_SPE=0;//SPI0使能
SPI0CR1_SPIE=0;//SPI0中断使能
SPI0CR1_MSTR=1;//1-主/0-从,选择
SPI0CR1_CPOL=1;//时钟极性,0-空闲时低/1-空闲时高
SPI0CR1_CPHA=0;//时钟相位,0-奇数沿采样/1-偶数沿采样
SPI0CR1_SSOE=1;//从选择输出使能
SPI0CR1_LSBFE=0;//0-先传送高位/1-先传送低位
SPI0CR2_XFRW=1;//传送长度,0-8位/1-16位
SPI0CR2_MODFEN=1;//0-SS口不用于SPI/1-SS口取决于MODF位
//分辨率BaudRateDivisor = (SPPR + 1)* 2^(SPR + 1)
SPI0BR = 0x00 | 0x00; //30MHz
SPI0CR1_SPE=1;//SPI0使能
MODRR = 0x10; //SCI1/SPI0路径选择
// TXD RXD MISO0 MOSI0 SCK0 SS0
//7:6--00: PS3 PS2 4--0: PS4 PS5 PS6 PS7 (112Pin)
// 01: PP2 PP0 1: PM2 PM4 PM5 PM3 (80/64Pin)
// 10: PM1 PM0
// 11: Reserved
}
while(1)//main函数程序
{
//PTM&=~(1<<3);
SPI0DR=0x8310;
while(!(SPI0SR_SPIF));
j=SPI0DR;
putint(j);
uart_putchar(' ');
Delay_ms(500);
//PTM|=(1<<3);
_FEED_COP();
} |
|