void transmit(void){ unsigned char az_zeichen1=0; unsigned char az_zeichen2=0; unsigned char i; do{ //new_byte und send_byte sind 1 wenn zeichen gesendet oder empfangen wurde //damit nicht zweimal ein gleiches zeichen gelesen oder gesendet wird if((rs_byte == 'b')&&(new_byte == 1)){ //byte empfangen rs_byte = 0; SBUF = 'b'; //start bestätigen new_byte = 0; WriteLine(trans,EZeile); } if((rs_byte == 'a')&&(new_byte == 1)){ do{ new_byte = 0; i=0; do{ if((new_byte == 1)&&(rs_byte <= '9')&&(rs_byte >='0')){ //nur speichern wenn eine zahl ComChar[i] = rs_byte; //an der stelle 1 und 2 des array ComChar[] wird immer / und eine unbekanntes zeichen gespeichert?? i++; new_byte = 0; rs_byte = 'n'; //rs_byte muss irgendeinen wert haben aber keine zahl od. '/' od. 'e' } }while((rs_byte != '/')&&(rs_byte != 'e')); az_zeichen1 = i; WriteLine(leer,ZZeile); //alte anzeige löschen if(rs_byte != 'e'){ WriteInstr(0xC5); //cursor positionieren for(i=0; i < az_zeichen1 ;i++) WriteData(ComChar[i]); //wert in dds schreiben WriteInstr(0xC5 + (az_zeichen1+1)); WriteData('H'); WriteData('z'); DelayT0(500); ReadAD(); //wandler lesen SBUF = 'a'; //übertragung amplitude start az_zeichen2=sprintf(buf,"%f",AnalogBuf); //float to string for(i=0;i