{
unsigned int i=8
unsigned char temp
while(n--)
{
while(i--)
{
temp=*pt
SCLK=0
if((temp&=0x80))
SDIN=1
else
SDIN=0
SCLK=1
temp<<=1
}
pt++
}
这是用SPI接口向外部传送数据的子程序SPI接口至少有一根数据线和时钟丛梁迅线,每一个时钟脉冲传递一位数据。传递一个16位数据应该要16个脉冲,这里只传递8位。RESET CLK SET CLK就是产生时钟脉冲。RESET DATA 就渣唯是在数据线上产生1 ,DATA&(0x01<<i)就是求第i位的渗此值 是0还是1。另外一个200次for循环是延时。
首先确锋旅弊保电路设计没什么问题。然后根据手册确保时序没有问题。比如时钟线,片选线和IN,OUT线的时序关系。
另外如果是软件模拟时序的话注意上升和下降的次序。
如果是主控芯片发数据的话镇码那么看DIN脚赋值后,当时钟线上拉或下拉时DIN脚的电平是否改变,银族从而确定是否传输成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)