📄 main.c
字号:
#include <stdio.h>
#include "stc89c58.h"
#include <intrins.h>
#include "iic.h"
#include "cpu.h"
typedef union
{
float f[4];
char buf[16];
}fc;
void init(void)
{
IE=0x00;
TMOD=0X20;
SCON=0X50;
TH1=0XFA;
TL1=0XFA;
TR1=1;
PCON=0X80;
TI=1;
}
void main()
{
xdata INT32U i;
xdata INT8U val[16];
xdata INT8U at24c01_add =0x04;
xdata fc FtoCH;
float fl;
init();
FtoCH.f[0] = -150.1329;
FtoCH.f[1] = 377.1837;
FtoCH.f[2] = -301.1051;
FtoCH.f[3] = 76.0731;
while(1)
{
for(i=0;i<10000;i++);
fl= *(float*)FtoCH.buf;
printf("buf = %5.4f\n",fl);
fl=*((float*)(FtoCH.buf+4));
printf("buf = %5.4f\n",fl);
fl=*((float*)(FtoCH.buf+8));
printf("buf = %5.4f\n",fl);
fl=*((float*)(FtoCH.buf+12));
printf("buf = %5.4f\n",fl);
for(i=0;i<10000;i++);
ISendStr(0xA0,at24c01_add,FtoCH.buf,4);
for(i=0;i<10000;i++);
ISendStr(0xA0,at24c01_add+4,(FtoCH.buf+4),4);
for(i=0;i<10000;i++);
ISendStr(0xA0,at24c01_add+8,(FtoCH.buf+8),4);
for(i=0;i<10000;i++);
//ISendStr(0xA0,at24c01_add+12,(FtoCH.buf+12),4);
//for(i=0;i<10000;i++);
IRcvStr(0xA0,at24c01_add,val,8);
// IRcvStr(0xA0,at24c01_add+4,val+4,4);
IRcvStr(0xA0,at24c01_add+8,val+8,8);
// IRcvStr(0xA0,at24c01_add+12,val+12,4);
/*printf("result = %5.4f %5.4f\n %5.4f %5.4f\n",
*(float*)val,*((float*)(val+4)),*((float*)(val+8)),*((float*)(val+12))); */
printf("result = %5.4f\n",*(float*)val);
printf("result = %5.4f\n",*((float*)(val+4)));
printf("result = %5.4f\n",*((float*)(val+8)));
printf("result = %5.4f\n",*((float*)(val+12)));
/**/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -