Gast
#229278
Hi, ich hab mir zum rumbasteln einen PIC zugelegt... 16F628... und nutze den Compiler microC... Vor hab ich folgendes. Wenn ein Meldeeingang den Pegel wechselt, dann soll der PIC nen Anruf tätigen... An der RS232 hängt dafür ein Handy...das mit Hilfe von AT Befehlen gesteuert wird... Zur Praxis. Hänge ich das Handy an die RS232 meine Laptops und nutze AT Befhle, dann geht das.... Nutze ich ein Terminalprogramm um mit dem PIC zu kommunizieren, so klappt das nicht schlecht, aber nicht fehlerfrei. Und hier kommt ihr ins Spiel... microC stell funktionen zur initalisierung, zum senden und zum empfangen bereit. mit einem kleinen programm unsigned short i; void main() { // Initialize USART module (8 bit, 2400 baud rate, no parity bit..) Usart_Init(2400); do { if (Usart_Data_Ready()) { // If data is received i = Usart_Read(); // Read the received data Usart_Write(i); // Send data via USART } } while (1); }//~! sendet der PIC das an das Terminal Programm zurück, was eingegeben wurde. z.B. "atds<098908798798766>" wenn ich jetzt im PIC aber eine Zeichkette hinterlege und versuche sie zu senden, dann kommt nur ein Zeichen an und nichtmal das erste sondern eben ein Zeichen.... darauf hin hab ich einfach die Länge der Zeichekette ermittel, ne Schleife...und jedes Zeichen einzeln gesendet... 'a' 't' 'd' das geht soweit, aber das Terminalprogramm bricht die Zeile nach jedem achten Zeichen um. Das sieht dann so aus... atds<098 90879879 8766> ich schaffe es einfach nicht einen string am stück zu senden. kann mir hier jemand auf die sprüge helfen... merci auch