Re: Serielle Daten in die CC schreiben Kategorie: Programmierung C (von PeterS - 10.12.2009 17:36) | |
Als Antwort auf Re: Serielle Daten in die CC schreiben von UlliS - 9.12.2009 16:52
| |
> > > > Hallo Ulli, > > > > > > > > danke für die schnelle Antwort. > > > > > > > > Mir ist dann doch recht schnell ein Licht aufgegangen: > > > > Mit dem Projectboard gibt es scheinbar Probleme, weil die IDE > > > > noch auf eine Rückmeldung von der CC wartet, wenn man das Programm > > > > startet und sobald der serielle Bus vom Controller aus initialisiert > > > > wird, ist der dicht und die IDE schmiert ab. > > > > > > > > Mit dem Applicationboard tritt der Fehler nicht auf... > > > > > > > > Gruss, Endress > > > > > > > > > > > > > Hi, > > > > > > also abschmieren ist mir nicht bekannt, aber du darfst natürlich nicht UART und Debugger > > > zur gleichen Zeit verwenden. Also auch nicht die MsgWrite... Befehle sondern musst SerialWrite... > > > verwenden. > > > > > > Grü�e Ulli > > > > Hallo, > > > > ich habe die den Code auf dem Applicationboard zum laufen gebracht und wollte das heute > > auf dem Projectboard umsetzen. Ergebnis: IDE schmiert unmittelbar beim Init des Seriellen > > Ports ab. Ich habe alles auskommentiert, was irgendwie auf den seriellen Bus schreibt. > > > > Ich möchte ungern das Applicationboard verbauen.. > > > > #define PortC0 16 > > #define PortC1 17 > > #define PortC2 18 > > > > > > char buffer[80],zeichen_str[50],Daten_Buffer[10]; > > int zeichen,Buffer_Index,exitcode,Buffer_Cnt; > > byte command; > > > > > > void main(void) > > { > > SPI_Disable(); > > > > //LCD_Init(); > > //LCD_ClearLCD(); > > > > command=0; > > exitcode=1; > > > > Port_DataDirBit(PortC0,1); > > Port_DataDirBit(PortC1,1); > > Port_DataDirBit(PortC2,1); > > > > > > Serial_Init_IRQ(0,buffer,120,120,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600); > > > > do > > { > > Buffer_Index=0; > > > > Buffer_Cnt=Serial_IRQ_Info(0,RS232_FIFO_RECV); > > > > if(Buffer_Cnt!=0) > > { > > > > do > > { > > Buffer_Index=Buffer_Index+1; > > zeichen = Serial_ReadExt(0); > > > > > > if(zeichen!=13) // alles ausser Return > > { > > Daten_Buffer[Buffer_Index]=zeichen; > > if(zeichen==256) // Buffer leer dann Ende > > { > > exitcode=0; > > } > > else > > { > > // LCD_ClearLCD(); > > command = Daten_Buffer[1]; > > Str_WriteInt(command,zeichen_str,0); > > // Serial_WriteText(0,zeichen_str); > > // LCD_WriteText(zeichen_str); > > > > /* > > Relais 1 AN = 1 Aus = 2 > > Relais 2 AN = 3 Aus = 4 > > Relais 3 An = 5 Aus = 6 > > Alle Relais AUS = 0 > > */ > > > > switch(command) > > { > > case 49: > > Port_WriteBit(PortC0,1); > > break; > > > > case 50: > > Port_WriteBit(PortC0,0); > > break; > > > > case 51: > > Port_WriteBit(PortC1,1); > > break; > > > > case 52: > > Port_WriteBit(PortC1,0); > > break; > > > > case 53: > > Port_WriteBit(PortC2,1); > > break; > > > > case 54: > > Port_WriteBit(PortC2,0); > > break; > > > > case 48: > > Port_WriteBit(PortC0,0); > > Port_WriteBit(PortC1,0); > > Port_WriteBit(PortC2,0); > > break; > > }; > > } > > } > > }while(exitcode); > > } > > }while(true); > > } > > > > > > Hi, > > deine IDE schmiert nach dem Start per Software bzw. per Hardwarerest ab? > Benutzt du einen USB zu UART Konverter oder die RS232? > Wenn du den USB zu UART Konverter verwendest würde ich evtl. mal die > aktuellen Treiber von SiLabs teste, aber dieses Problem war mich bis jetzt unbekannt. > Vieleicht kann unser Peter was dazu sagen? > > https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx > > > Grü�e Ulli Hi, ich zitiere hier gerne immer mal die Doku um Benutzer zum Lesen anzuregen: "Die Grö�e des Puffers mu� die Grö�e des Empfangspuffers plus die Grö�e des Sendepuffers plus 6 sein. Der Sende- und der Empfangspuffer kann maximal 255 Zeichen aufnehmen." Also die Grö�e der Variable "buffer" auf 246 erhöhen: char buffer[246]; Gruss Peter | |
Antwort schreiben Antworten: Re: Serielle Daten in die CC schreiben (von Endress - 11.12.2009 22:39) Re: Serielle Daten in die CC schreiben (von PeterS - 12.12.2009 12:11) Re: Serielle Daten in die CC schreiben (von UlliS - 12.12.2009 12:42) Re: Serielle Daten in die CC schreiben (von Endress - 14.12.2009 12:55) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum