微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一段看不懂的C程序 求助高手帮忙解释一下 谢谢

一段看不懂的C程序 求助高手帮忙解释一下 谢谢

时间:10-02 整理:3721RD 点击:
uchar ad_dat1=0;   //读取滤波后的AD值
uchar Water_dat=0;
uchar set_flag=0;
//水位计算
void Water_Calculate()
{
if(ad_dat1<33)
{
  Water_dat=10-((33-ad_dat1)/3);  
}
else
{
  Water_dat=10+((ad_dat1-33)/3);
}   
}
void main()
{
uint AD_DAT=0;
uchar i=0;
LED_OK=0;
init_1602();
while(1)
{
  if(i<10)     // 滤
  {
   i++;
   AD_DAT+=A_D();  // 波
  }
  else     // 算
  {
   i=0;    // 法
   ad_dat1=(uchar)(AD_DAT/10);
   AD_DAT=0;
  }
  Water_Calculate();
  display();
  key();
  control();
}
}

你要说出哪里看不懂才行,不然大家直到怎么回复你!

我也看不懂

void main()
{
uint AD_DAT=0;
uchar i=0;
LED_OK=0;
init_1602();
while(1)
{
  if(i<10)     // 滤
  {
   i++;
   AD_DAT+=A_D();  // 波
  }
  else     // 算
  {
   i=0;    // 法
   ad_dat1=(uchar)(AD_DAT/10);
   AD_DAT=0;
  }
就是这部分不理解它那个算法是怎么写的   知道的可以告诉我它的思路是什么就可以了
PCB打样找华强 http://www.hqpcb.com 样板2天出货

每10个点做一次平均值

我也看不懂。

定义一个计数变量i,i每自增一次进行一次AD采集,当i自增到10,i清零,并对之前采集的10组数据取平均值。其实就是计算机算法里的均值采样

哦 ,明白了  谢谢大家

关于c程序,我掌握的也不是很好!但我会用,你说到的上个程序,我看了下,很简单嘛!就四个函数,一个是处理水位的,也就是采样函数,,,你可以不用细看的,因为他是一个整体,也没必要每一句都看懂,那样太累啦,不是吗?又一个是键盘扫描函数,该函数主要是针对外部(人为按键)而设置的程序,紧接着是控制函数,这个函数是专门针对于采样函数采样出的结果而设置的(功能大概就像这样:若水位低,就启动电动机往里抽水,从而使水位不至于太低;若水位太高,就启动电动机向外抽水,不至于水位太高;就是这样,从而使水位始终保持在某一水平),,我的理解就是这样的,希望能对你有所帮助!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top