大家好,我最近也在用SPI,遇到一个问题,程序运行后,用示波器看见clk时
钟正确,mosi有数据但不正确,很不理解,耽误好几天了,请楼主不吝赐教,帮忙
看看,谢谢。(下面是源代码,我用的是SPI1,目前没有接外设,也就没另找一
个io脚去充当片选信号)
main()
{
SPI_Init();
while(1)
{
for(i=0;i<19;i++)
{
while(!(rSPSTA1&0x01));
rSPTDAT1=8;
delayUS(1000);
}
void SPI_Init(void)
{
rGPGCON = 0x100FF60;//使能SPICLK,MOSI.MISO.NSS1设为输出,
rGPGUP = 0xff17;//使能上拉电阻
rGPGDAT&=0xfff7;//NSS1输出0
rSPPRE1=4;//波特率是6M
rSPCON1=0x1e;
rSPPIN1=(0<<2)|(1<<1)|(0<<0);
rGPGDAT&=0xfff7;
} |