2020-02-06 10:08发布
AHTY 发表于 2015-12-1 16:44 用逻辑分析仪试试,说不定就能查到问题,反正以前我写的8563的程序挑芯片,后来查出是时序问题了。 ...
最多设置5个标签!
unsigned char SSP_Send(unsigned char sByte)
{
SSPBUF = sByte;
while(BF==0);
sByte = SSPBUF;
return sByte;
}
//用IO模拟SPI
void indate(unsigned char p)
{
unsigned int i;
TM1616STB=0; //保证“STB”为低电平,程序不依赖于之前端口的状态 //保证程序在实际运行中不会出现“端口迷失”
for(i=0;i<8;i++)
{
RB4=0; //先将“CLK”清零
if((p& 0x01)!=0)
{
RB2=1; //需要传送的数据的低位为“1”,则把“DIO”清零
}
else
{
RB2=0; //需要传送的数据的低位为“0”,则把“DIO”置高
}
RB4=1; //送时钟的上升沿
p=p>>1; //准备送下一个BIT
} //送完一个字节后退出循环
}
这是两段代码
谢谢了,不准备搞了。才发现这片子是5V的,3V不工作。。。。
非常奇怪的是前面三个命令都能通过,就最后一个点亮的命令用SPI不行!!!
一周热门 更多>