智能车制作
标题:
XS128调试SPI,BDM在线调试一切OK,自己运行一点反应也没有。
[打印本页]
作者:
kaibi9003
时间:
2010-4-16 16:05
标题:
XS128调试SPI,BDM在线调试一切OK,自己运行一点反应也没有。
在线调试没有问题,点下复位,直接运行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();
}
作者:
zhouhong
时间:
2010-4-19 09:24
我也遇见同样的问题
作者:
kaibi9003
时间:
2010-4-21 21:26
回复
2#
zhouhong
我解决了 呵呵。
while(!(SPI0SR_SPTEF));//加上这句话就OK了 呵呵
SPI0DR=0x8310;
while(!(SPI0SR_SPIF));
j=SPI0DR;
作者:
王怀玉
时间:
2010-4-30 15:28
学习学习
作者:
qnbs1
时间:
2010-6-7 18:32
这个可以不用呀。我们的就不用
作者:
sy373466062
时间:
2010-11-24 17:25
学习了
作者:
zhangjiarui
时间:
2010-11-25 10:18
学习
作者:
spwbaha
时间:
2011-4-3 15:28
虚心的学习
作者:
NNG95
时间:
2012-4-13 21:19
同样不会,求解呀
作者:
恶栈
时间:
2013-1-18 12:44
我也遇到这个问题了。感谢楼上的各位
作者:
WK033857
时间:
2013-4-13 10:49
请问80引脚的S12芯片的SPI用哪几个引脚啊,分别与NRF24L01的 CE,CSN,SCK,MOSI,MISO,IRQ怎么连??谢谢了!
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2