PIC16F877A与CH376建立不了通讯

以下是我自己写的程序,本意是用PIC不停地给CH376发同一个命令,但是在示波器上没看到SPI的波形,这是怎么回事?求教。 #include __CONFIG(0x3b31); #define u8 unsigned char #define u16 unsigned int #define SDI RC4 #define SCS RD0 #define SCK RC3 #define SDO RC5 #define false 0xff //******************************************************// void SPI_PORT_INT() { SCS=1; SCK=1; TRISC3=0; //SCK OUT TRISC4=1; //SDI IN TRISC5=0; //SDO OUT TRISD0=0; //输出SCS TRISD1=0;//将CH376S的RST拉高 RD1=1; } void SPI_INT() { GIE=1; PEIE=1; SSPIF=0; SSPIE=1;//使能SPI总线 SSPCON=0X32;//设置相应的SPI寄存器 SSPSTAT=0X80; } void send_376(u8 d) { SSPBUF=d; while(!SSPIF); SSPIF=0; } void wr_376_cmd(u8 cmd) { NOP(); NOP(); SCS=0; send_376(cmd); } void main() { SPI_PORT_INT(); SPI_INT(); while(1) { wr_376_cmd(0x06); SCS=1; } }

首先用示波器看一下SCK和SDI上是否有数据?是否是你想发的数据?因为这是你想要发送的,如果发送没问题,就看一下SDO上是否有数据。我们CH376EVT.ZIP中有SPI接口51单片机的程序,你可以参考。


能发CH376EVT.ZIP中有SPI接口51单片机的程序给我吗,个人信息保护,已隐藏谢谢


你可以到这里面去下载: http://wch.cn/downloads.php?name=pro&proid=126


只有登录才能回复,可以选择微信账号登录