hx711c语言滤波函数,模数转换芯片hx711 c驱动程序
电子天平专用高精度的模数转换芯片 HX711 的c语言驱动程序,讲解详细,一看就会。
bugAD_F(void)
{
u8 str[26];
int i=0,j=0,k=0;
delay_init(72);
UsartConf(9600);
ADInit();
BUFInit();//往队列数组BUF里面存入N个采样值,初始化SUM为N个采样值的和。
while(1)
{
IntToStr(filter(),str); //IntToStr()函数在进行形参传递时,把filter()函数返回的浮点数转化为了整型数,
//所以,此处调用IntToStr()函数不会出错。
for(i=0;str[i]!='\0';i++); //计算数字是几位数。
if(i == 7) //如果只有7位数,前面用一个空格补齐8位。
USendStr(" ");
USendStr(str);
USendStr(" ");
j++; //j实现输出数字个数的计数,每输出6个数字,换2行。
if(j == 6)
{
j = 0;
USendStr("\n");
USendStr("\n");
}
k++;
if(k == 100)break; //输出100个数据后,结束调试。
delay_ms(500);
}
}
void BUFInit(void) //初始化队列数组BUF和SUM,即,往里面先存入N个采样值,SUM为N个采用值的和。
{
int j=0;
for(j=0;j
{
BUF[j] = ReadAD();
SUM+=BUF[j];
}
}
long double filter(void) //滑动均值滤波法的函数。
{
unsigned long temp=0,max=0,min=0;
int j=0;
temp = ReadAD();
/*下面一句不使用SUM+=temp-BUF[i]的形式,是为了避免temp-BUF[i]的运算,以免产生
负数,引起误差。*/
SUM = SUM+temp-BUF[i];
BUF[i]=temp;
i++;
if(i == N)
i=0;
max=BUF[0];
min=BUF[0];
for(j=0;j
{
if(max
if(min>BUF[j])min=BUF[j];
}
/*下面一句中的(SUM-max-min)/(N-2),不能用SUM=SUM-max-min; SUM/(N-2);
这两句来替代,因为,这样会改变SUM的值,越减越小,到最后,会出现负数了。*/
return (SUM-max-min)/(N-2);
}
hx711c语言滤波函数,模数转换芯片hx711 c驱动程序相关推荐
- hx711c语言程序,STM32写的HX711程序
查看: 35712|回复: 60 STM32写的HX711程序 当前离线积分 初级会员, 积分 73, 距离下一级还需 127 积分 积分金钱73 注册时间2014-8-20 在线时间0 小时 电梯直 ...
- 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?
但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...
- R语言str_trim函数去除字符串中头部和尾部的空格
R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿
- R语言sqrt函数为数值开平方根实战
R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根
- R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数
R语言数学函数:abs绝对值.sqrt平方根.ceiling向上近似整数.floor向下近似整数.trunc去除小数部分.round近似到指定小数位.signif近似到有效数字.三角函数.指数.对数 ...
- R语言sd函数计算数值标准差实战(Standard Deviation)
R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd
- R语言optimize函数一维优化实战
R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数
- R语言rev函数对数据对象(向量、dataframe通过行或者列)反序实战
R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战 目录 R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战
- R语言用户自定义函数的语法结构、编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)、编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)、应用自定函数
R语言用户自定义函数的语法结构.编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等).编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据).应用自定函数 ...
最新文章
- 超强实时人像抠图算法开源,随心所欲背景替换!
- win7专业版64位,台式机睡眠和休眠后立即被唤醒
- 《剑指offer》-- 数组中的逆序对、最小的K个数、从1到n整数中1出现的次数、正则表达式匹配、数值的整数次方
- 文件存取方式是哪两种python_常用的Python存储方式有哪些?
- 二叉树的常用操作(节点的后继节点)
- linux格式化nfs,NFS协议详解与配置实现
- Python之turtle画奥运五环、斜眼笑脸
- FirstApp,iphone开发学习总结1,UIview添加UIimage
- matlab高斯求积法_实验3:利用SVM实现线性高斯分类
- notepad linux版本,Notepad++ Linux版
- android文件恢复功能,安卓手机误删文件恢复?快速恢复办法
- a = a + 1,a+=1, a++, ++a 区别在哪
- .net服务端渲染_驳:服务端命令 VS 表间公式
- html设置图像路径,Html图像标签、绝对路径和相对路径:
- 常用通达信l2行情接口文件夹说明
- 遇到Process finished with exit code -1073740791 (0xC0000409)实在不能解决的时候要注意
- html怎么放边框,html怎么设置边框
- 利用Smart3D(CC)进行物体建模
- linux系统tar命令慢,Linux系统下tar命令的使用技巧
- 动易安全开发手册 完整版