cpp code
/*==============================================================================
CANAL 0 PIN 2 ANALOGUE INPUT 1
==============================================================================*/
void ADCinput0()
{
set_adc_channel(0);
delay_us(20);
ADinput0 = READ_ADC();
AD0 = (ADinput0 * 5000) /1023;
printf("A0:%4lu",AD0); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 1 PIN 3 ANALOGUE INPUT 2
==============================================================================*/
void ADCinput1()
{
set_adc_channel(1);
delay_us(20);
ADinput1 = READ_ADC();
AD1 = (ADinput1 * 5000) /1023;
printf("A1:%4lu",AD1); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 2 PIN 4 ANALOGUE INPUT 3
==============================================================================*/
void ADCinput2()
{
set_adc_channel(2);
delay_us(20);
ADinput2 = READ_ADC();
AD2 = (ADinput2 * 5000) /1023;
printf("A2:%4lu",AD2); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 3 PIN 5 ANALOGUE INPUT 4
==============================================================================*/
void ADCinput3()
{
set_adc_channel(3);
delay_us(20);
ADinput3 = READ_ADC();
AD3 = (ADinput3 * 5000) /1023;
printf("A3:%4lu",AD3); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 4 PIN 7 ONBOARD TEMPERATURE SENSOR
==============================================================================*/
void ADCinput4()
{
set_adc_channel(4);
delay_us(20);
ADinput4 = READ_ADC();
AD4 = (ADinput4 * 5000)/1023;
printf("A4:%4lu",AD4); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 5 PIN 8 SENSORS SUPLLY MONITOR
==============================================================================*/
void ADCinput5()
{
set_adc_channel(5);
delay_us(20);
ADinput5 = READ_ADC();
AD5 = (ADinput5 * 1500) /1023;
printf("A5:%4lu",AD5); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 6 PIN 9 BOARD SUPPLY MONITOR
==============================================================================*/
void ADCinput6()
{
set_adc_channel(6);
delay_us(20);
ADinput6 = READ_ADC();
AD6 = (ADinput6 * 3700) /1023;
printf("A6:%4lu",AD6); //Envia dados de conversão A/D para exibir tensão
printf(":");
}
/*==============================================================================
CANAL 7 PIN 10 0-5V ANALOGUE/DIGITAL INPUT 5
==============================================================================*/
void ADCinput7()
{
set_adc_channel(7);
delay_us(20);
ADinput7 = READ_ADC();
AD7 = (ADinput7 * 5000) /1023;
printf("A7:%4lu",AD7); //Envia dados de conversão A/D para exibir tensão
printf(":");
printf("%d%d%d%d%d\r\n",RB0,RB1,RB2,RD4,RD5);
}
csharp code
public FormMain()
{
InitializeComponent();
SerialCom.DataReceived += new SerialDataReceivedEventHandler(SerialCom_DataReceived);
}
void SerialCom_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
//throw new NotImplementedException();
bfRecebe = SerialCom.ReadExisting();
this.BeginInvoke(new Fdelegate(recebe_serial), new object[] { bfRecebe });
}
public void recebe_serial(string a)
{
string[] txtSplit;
txtRec.Text += a;
if (txtRec.Text.Length > 776)
{
txtRec.Clear();
}
txt_rec += a;
if (txt_rec.Length >= 80)
{
txtSplit = txt_rec.Split(':');
txt_rec = string.Empty;
if (txtSplit[0] == "A0")
{
txt_list = txtSplit[0] + ":" + txtSplit[1] + ":" + txtSplit[2] + ":" + txtSplit[3] + ":" + txtSplit[4] + ":" + txtSplit[5]
+ ":" + txtSplit[6] + ":" + txtSplit[7] + ":" + txtSplit[8] + ":" + txtSplit[9] + ":" + txtSplit[10]
+ ":" + txtSplit[11] + ":" + txtSplit[12] + ":" + txtSplit[13] + ":" + txtSplit[14] + ":" + txtSplit[15]
+ ":" + txtSplit[16] + ":" + txtSplit[17] + ":" + txtSplit[18] + ":" + txtSplit[19];
txtSensor1.Text = txtSplit[1];
txtSensor2.Text = txtSplit[3];
txtSensor3.Text = txtSplit[5];
txtSensor4.Text = txtSplit[7];
txtAnalogDiag1.Text = txtSplit[9];
txtAnalogDiag2.Text = txtSplit[11];
txtAnalogDiag3.Text = txtSplit[13];
txtAnalogDiag4.Text = txtSplit[15];
txtAnalogDiag5.Text = txtSplit[17];
txtAnalogDiag6.Text = txtSplit[19];
txt_rec = string.Empty;
//Verifica RB0
if (txtSplit[16].Substring(0, 1) == "1")
{
zero = true;
}else{
zero = false;
}
//Verifica RB1
if (txtSplit[16].Substring(1, 1) == "1")
{
lBfT = true;
}else{
lBfT = false;
}
//Verifica RB2
if (txtSplit[16].Substring(2, 1) == "1")
{
water = true;
WaterBut.BackColor = Color.Red;
}else{
water = false;
WaterBut.BackColor = Color.Green;
}
//Verifica RD4 / RD5
if (txtSplit[16].Substring(3, 1) == "1")
{
pictureBox1.BackColor = Color.Red;
label6.Text = "Low Batt";
label6.ForeColor = Color.Red;
low = true;
}else{
pictureBox1.BackColor = Color.Green;
label6.Text = "Power Ok";
label6.ForeColor = Color.Green;
high = true;
}
}
}
}