微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > main.c(58): error C141: syntax error near 'char',大家看下该怎么该

main.c(58): error C141: syntax error near 'char',大家看下该怎么该

时间:10-02 整理:3721RD 点击:
/**********************************************************************
***********************************************************************/
#include "main.h"
#include "HX711.h"
#include "uart.h"
#include "LCD1602.h"
#include <math.h>

#include <stdio.h>
#define N 8

unsigned long HX711_Buffer = 0;
unsigned long Weight_Maopi = 0;
long Weight_Shiwu = 0;

unsigned char flag = 0;
bit Flag_ERROR = 0;
sbit speak= P1^7;
//D£×?2?êy
//òò?a2?í?μ?′??D?÷ì?D??ú??2?ê?oüò???£?òò′?£???ò???′??D?÷Dèòa???y?aà??a??2?êy2??üê12aá??μoü×?è·?£
//μ±·¢??2aê?3?à′μ???á???′óê±£????ó??êy?μ?£
//è?1?2aê?3?à′μ???á???D?ê±£???D???êy?μ?£
//???μ?éò??aD?êy
#define GapValue 434

//****************************************************
//?÷oˉêy
//****************************************************
void main()
{
       
       
       
    Uart_Init();
    Send_Word("Welcome to use!\n");
    Send_Word("Made by Beetle Electronic Technology!\n");
       
        Init_LCD1602();
        LCD1602_write_com(0x80);
        LCD1602_write_word("Welcome to use!");
        Delay_ms(1000);                 //?óê±,μè′y′??D?÷?è?¨
        Get_Maopi();                                //3????¤??á?
       
        while(1)
        {
                EA = 0;
               
        Get_Weight();
        char  filter();
               
               
                EA = 1;
                Scan_Key();
                //??ê?μ±?°??á?
                if( Flag_ERROR == 1)
                {
            Send_Word("ERROR\n");
                       
                        LCD1602_write_com(0x80+0x40);
                        LCD1602_write_word("ERROR ");
                        speak=0;
                }               
                else
                {      
                              speak=1;
                         Send_ASCII(sum/1000000 + 0X30);
                         Send_ASCII(sum%1000000/100000 + 0X30);
                         Send_ASCII(sum%100000/10000 + 0X30);
           Send_ASCII(sum%10000/1000 + 0X30);
            //Send_ASCII(Weight_Shiwu%1000/100 + 0X30);
           // Send_ASCII(Weight_Shiwu%100/10 + 0X30);
           // Send_ASCII(Weight_Shiwu%10 + 0X30);
                              Send_ASCII('.');
                        Send_ASCII(sum%1000/100 + 0X30);
                        Send_ASCII(sum%100/10 + 0X30);
                        Send_ASCII(sum%10 + 0X30);
            Send_Word(" g\n");
                       
                        LCD1602_write_com(0x80+0x40);
                        LCD1602_write_data(sum/1000000 + 0X30);
                        LCD1602_write_data(sum%1000000/100000 + 0X30);
                        LCD1602_write_data(sum%100000/10000 + 0X30);
                        LCD1602_write_data(sum%10000/1000 + 0X30);
           // LCD1602_write_data(Weight_Shiwu%1000/100 + 0X30);
            //LCD1602_write_data(Weight_Shiwu%100/10 + 0X30);
           // LCD1602_write_data(Weight_Shiwu%10 + 0X30);
                        LCD1602_write_data('.');
                        LCD1602_write_data(sum%1000/100 + 0X30);
                        LCD1602_write_data(sum%100/10 + 0X30);
                        LCD1602_write_data(sum%10 + 0X30);
                        LCD1602_write_word(" g");
                }
               
        }
}
//é¨?è°′?ü
void Scan_Key()
{
        if(KEY1 == 0)
        {
                Delay_ms(5);
                if(KEY1 == 0)
                {
                        while(KEY1 == 0);
                        Get_Maopi();                        //è¥?¤
                }       
        }
}
//****************************************************
//3???
//****************************************************
void Get_Weight()
{   
        Weight_Shiwu = HX711_Read();
        Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //??è?????
        if(Weight_Shiwu > 0)                       
        {       
                Weight_Shiwu =(unsigned  int) (((float)Weight_Shiwu/GapValue)*1000);         //????êμ??μ?êμ?ê??á?

                                                                                                                                               
                if(Weight_Shiwu > 5000000)                //3???±¨?ˉ
                {
                        Flag_ERROR = 1;       
                }
                else
                {
                        Flag_ERROR = 0;
                }
        }
        else
        {
                Weight_Shiwu = 0;
        //        Flag_ERROR = 1;                                //?o??±¨?ˉ
        }
       
}

//****************************************************
//??è????¤??á?
//****************************************************
void Get_Maopi()
{
        Weight_Maopi = HX711_Read();       
}
//****************************************************
//MS?óê±oˉêy(12M?§????2aê?)
//****************************************************
void Delay_ms(unsigned int n)
{
        unsigned int  i,j,sum;
        for(i=0;i<n;i++)
                for(j=0;j<123;j++);
}
//shujuchuli
char filter()
{
  char value_buf[N];//
        char count,i,j,temp;
        for(count = 0,count < N,count++)
        {
                value_buf(count) = Get_Weight();
                sum+=value_buf(count);
                Delay_ms(2);
}
  for(j=0,j<N,j++)
        {
    for(i=0,i<N,i++)
                {
      if (value_buf[i]>value_buf[i+1])
                        {
        temp = value_buf[i];
        value_buf[i] = value_buf[i+1];
                                value_buf[i+1] = temp;
}
}
}
return (char)(sum = (sum-(value_buf[0]+value_buf[N-1]))/n);
}












没人吗?希望来个人指点下?

来个人指点下啊。

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

网站地图

Top