求高人粗线给我点评一下SPI程序
while(1){
FLOW_Data=SPI1_Master_SendByte(0x30);deleay(20);//读取的是ADC0的低八位
FLOW_Data=SPI1_Master_SendByte(0x31);deleay(20);//读取的是ADC0的高八位
HZ_Data=SPI1_Master_SendByte(0x40);deleay(20);//读取的是ADC0的低八位
Uart1_SendByte(0xfF);
deleay(20);
Uart1_SendByte(FLOW_Data); //ADC2的高八位
deleay(20);
Uart1_SendByte(FLOW_Data); //ADC1的高八位
deleay(20); //压力毫安部分
}
这种时候,FLOW_Data里面的数 ,本来是0X30反馈的值,但是不知道为什么,是0x40,被存到HZ_dATA【0】里了,就是说数据正好串了一位
我用的ARM7 LPC系列。。。
SPI主机我是发一个查询码,反馈一个信息 void HZ_SendData()
{
uint8 temp;
//-------------------------------------------------------------
IO0CLR |=P0_21;
//--------------------------------------------------------------
S1PDR=0x30;
while(((temp=S1PSR)&0x80)==0); //等待数据发送完毕
while(!((i = S1PSR) & 0x80)) ;
rtmp = S1PDR;
FLOW_Data=S1PDR;
//-------------------------------------------------------------
deleay(1);
//--------------------------------------------------------------
S1PDR=0x31;
while(((temp=S1PSR)&0x80)==0); //等待数据发送完毕
while(!((i = S1PSR) & 0x80)) ;
rtmp = S1PDR;
FLOW_Data=S1PDR;
//----------------------------------------------------------
IO0SET |=P0_21;
//---------------------------------------------------------
}
修改了一下,整合到一个程序里,但是这样数据顺序对了,第一个数据读出来了,第二个却读不出来了 {:cry:{:sad:}调试这种东西要啥技巧么 kkk529699480 发表于 2012-7-19 11:28 static/image/common/back.gif
{:cry:调试这种东西要啥技巧么
楼主,你硬件是如何接的? 主机是个LPC的ARM7,从机是个52核心的CPU,主机SS拉高,随便找了一个IO做CS片选控制52核心的CPU
我试验了一下,读取单个数据是准确的,那么起码这个东西就不是我硬件连线有问题。。还是我写的东西有问题 kkk529699480 发表于 2012-7-19 17:43 static/image/common/back.gif
主机是个LPC的ARM7,从机是个52核心的CPU,主机SS拉高,随便找了一个IO做CS片选控制52核心的CPU
52核?!!
这是什么东西 8052.
感谢您的回复。
页:
[1]