求助,我买了一块英飞凌SP12的压力传感器,可是调不出来
[复制链接]
前些日子买了块SP12的压力传感器,我用STC89LE51RC的单片机对其进行控制#include "reg52.h" #include "sp12.h"
#define uchar unsigned char #define uint unsigned int
void delaynus(unsigned char n) { unsigned char i; for(i=0;i<n;i++); }
/*************************************************** 函数功能:向SP12写入命令 ***************************************************/ void Write_sp(unsigned char dat) { unsigned char i; NCS=1; SCLK=0; delaynus(100); NCS=0; delaynus(100); for(i=0;i<8;i++) { SCLK=1; SDI=dat&0x01; delaynus(100); SCLK=0; delaynus(100); dat>>=1; } NCS=1; delaynus(100); SCLK=1; } /***************************************************** 函数功能:向SP12读出数据 ***************************************************/ unsigned char Read_sp() { uchar dat; uchar temp=0; uchar i; NCS=1; SCLK=0; delaynus(100); NCS=0; delaynus(100); SCLK=1; temp=SDO; delaynus(100); if(temp==1)return 0; if(temp==0) { for(i=0;i<8;i++) { dat>>=1; SCLK=0; delaynus(100); SCLK=1; if(SDO==1)dat|=0x80; delaynus(100); } } NCS=1; delaynus(100); SCLK=1; return dat; } 这个是SPI的子程序,不清楚对不对。就是跳不出来,望各位帮忙,谢谢! 顺便附上SP12的中文资料,找不到英文资料,有的话希望可以发来看看
|