stm32F7的 8080并口传数据? 高8位低8位如何存和发
在51里面是这样写的 在stm32里面 就是不知道怎么存怎么发 用了6片ADC DB0-DB15用了GPIOF
void Read(void)
{
int n;
int j;
int byte_num=0;
unsigned int H_Data;
unsigned int L_Data;
unsigned int m=0x40;
CON=0;
CON=1;
while(BUSY==1)
// BUSY=1;
for(j=0;j<6;j++)
{ switch(j)
{
case 0:CS_A=0; CS_B=0; CS_C=0;break;
case 1:CS_A=1; CS_B=0; CS_C=0;break;
case 2:CS_A=0; CS_B=1; CS_C=0;break;
case 3:CS_A=1; CS_B=1; CS_C=0;break;
case 4:CS_A=0; CS_B=0; CS_C=1;break;
case 5:CS_A=1; CS_B=0; CS_C=1;break;
default: break;
}
for(n=0;n<8;n++)
{
RD=0;
H_Data=P1;
L_Data=P0;
RD=1;
Data=H_Data;
Data=L_Data;
}
}
}
/////////////////////////////////////////////
void Send()
{
int k;
int i=0;
char Datas;
send_byte(0x99);
for(k=1;k<49;k++)
{
send_byte(k);
Datas=Data;
send_byte(Datas);
Datas=Data;
i=i+1;
send_byte(Datas);
}
send_byte(0x99);
send_byte(0x99);
}
本帖最后由 springvirus 于 2018-3-7 08:30 编辑
具体看你编译器和平台的设置,是大端还是小端
然后高低字节处理起来就轻松了
使用以下结构确认大小端
union sv {
unsigned short Val;
unsigned char c;
}sv_16;
union sv {
unsigned int Val;
unsigned char c;
}sv_32;
sv_16 temp_16;
sv_32 temp_32;
temp_16.Val = xxxx;
temp_32.Val = xxxx;
printf("%02x %02x ", temp_16.c, temp_16.c );
printf("%02x %02x %02x %02x", temp_32.c, temp_32.c, temp_32.c, temp_32.c);
页:
[1]