谁能讲讲51单片机 hx711 怎么读取数据,然后放到液晶上显示?不要随随便便找一段程序来忽悠。
答案:1 悬赏:70 手机版
解决时间 2021-02-04 14:31
- 提问者网友:了了无期
- 2021-02-03 19:52
谁能讲讲51单片机 hx711 怎么读取数据,然后放到液晶上显示?不要随随便便找一段程序来忽悠。
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-02-03 20:09
下面是我的代码
第一步 下拉SCK告诉711准备读,等待第一次DATIO输出低 代表开始
第二步 读24次数据 也就是3个字节
第三部 转换数据,就是相当于+0x800000,这样就相当于防止出现负数电压(如果A-接的GND,你可以省去这一步)
第四步 (很重要)再继续给711发n(1-3)个脉冲,相当于再继续读n次,我这里是发了一个脉冲,代表着下次转换的AD是A通道128增益,精度更高。n=2代表下次读的是B通道 32增益 ,N=3是 A通道 64增益。
所以第一次上电读的数据可能不准
unsigned long HX711_Read()
{
unsigned long count;
unsigned int i=0;
HX711_SCK_L;
while(HX711_DOUT_DAT)
{
Delay__hx711_us(1);
i++;
if(i>10000)
{
stPARA.statu = HX711_ERROR;
return 0;
}
}
stPARA.statu = 0;
count=0;
for(i=0;i<24;i++)
{
HX711_SCK_H;
count=count<<1;
Delay__hx711_us(1);
HX711_SCK_L;
if(HX711_DOUT_DAT)
count++;
}
HX711_SCK_H;
count=count^0x800000;
Delay__hx711_us(1);
HX711_SCK_L;
return(count);
}追问大神,请允许我最后再问几个问题:SPI通信中,主机和从机如何定义?是不是发出数据的就是主机,接收数据的就是从机?如果主机想从从机读数据,是不是要把从机变为主机,如果从机想要从主机读数据呢,那么互为主从的方式又是什么意思?提问背景是我想用STC15的内部硬件SPI来控制NRF24L01做一个遥控器,其中涉及到一个遥控器向接收机发数据,接收机数据回传给遥控器的问题。
第一步 下拉SCK告诉711准备读,等待第一次DATIO输出低 代表开始
第二步 读24次数据 也就是3个字节
第三部 转换数据,就是相当于+0x800000,这样就相当于防止出现负数电压(如果A-接的GND,你可以省去这一步)
第四步 (很重要)再继续给711发n(1-3)个脉冲,相当于再继续读n次,我这里是发了一个脉冲,代表着下次转换的AD是A通道128增益,精度更高。n=2代表下次读的是B通道 32增益 ,N=3是 A通道 64增益。
所以第一次上电读的数据可能不准
unsigned long HX711_Read()
{
unsigned long count;
unsigned int i=0;
HX711_SCK_L;
while(HX711_DOUT_DAT)
{
Delay__hx711_us(1);
i++;
if(i>10000)
{
stPARA.statu = HX711_ERROR;
return 0;
}
}
stPARA.statu = 0;
count=0;
for(i=0;i<24;i++)
{
HX711_SCK_H;
count=count<<1;
Delay__hx711_us(1);
HX711_SCK_L;
if(HX711_DOUT_DAT)
count++;
}
HX711_SCK_H;
count=count^0x800000;
Delay__hx711_us(1);
HX711_SCK_L;
return(count);
}追问大神,请允许我最后再问几个问题:SPI通信中,主机和从机如何定义?是不是发出数据的就是主机,接收数据的就是从机?如果主机想从从机读数据,是不是要把从机变为主机,如果从机想要从主机读数据呢,那么互为主从的方式又是什么意思?提问背景是我想用STC15的内部硬件SPI来控制NRF24L01做一个遥控器,其中涉及到一个遥控器向接收机发数据,接收机数据回传给遥控器的问题。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯