Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielle schnittstelle in c sau lahm!?!?
Import-Script
14.07.2003, 23:18
hallo zusammen! <BR> <BR>ich hab ein c programm (in FSI ProView) für einen 80C515 geschrieben, dass per serieller schnittstelle mit dem pc kommuniziert. mein problem ist, dass das ganze schon bei einer übertragungsrate von 4800 baud nicht mehr richtig funktioniert. es geht die hälfte an daten verloren (beim empfangen von daten). <BR> <BR>mein kollege hat das ganze in assembler nachprogrammiert und da ist es kein problem. <BR> <BR>hat jemand ne ahnung, warum das in c so lahmt? <BR> <BR>gibt es evtl nen c compiler, der besser übersetzt? oder hat jemand ein programm in c geschrieben, das gut funktioniert? <BR> <BR> <BR>danke im voraus! <BR>grüße!
Import-Script
15.07.2003, 01:23
Was haste denn für ein Quarz am Controller? <BR> <BR>Gruß <BR>Holgi
Import-Script
15.07.2003, 10:20
Schau mal in Dein Programm bei den Variablendeklarationen; nicht dass da "übertriebenerweise - aus Versehen" <BR> <BR>"double flag" (für ein flag) <BR>oder <BR>"int zahl" wobei "byte zahl" oder so angebracht wäre. Manche Compiler bauen dann die ulkigsten Konstrukte. <BR><img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
15.07.2003, 10:29
Ich vermute auch, wie Andreas, daß Dein C-Kode einfach nur sauschlecht ist. <BR> <BR>Stell ihn doch mal hier rein. <BR> <BR>Man sollte den Compiler nicht als Feind ansehen, dem man möglichst unverdauliche Brocken hinwirft, sondern als Freund. <BR> <BR>Jeder C-Programmierer sollte den C51-Primer gelesen haben. <BR> <BR>In der "Elektronik" war auch kürzlich eine Artikelserie, wie man effektiv unter C programmiert. <BR> <BR> <BR>Peter
Import-Script
15.07.2003, 11:43
@Peter: wow, wir sind mal einer Meinung... <BR>find ich mal gut.<img src="http://progshop.com/elektronik/diskussion/clipart/smile.gif" border=0>
Import-Script
15.07.2003, 12:52
c51 primer ? wo kann ich denn dies lesen ? <BR> <BR>--- <BR> <BR>wo bekommt man infos über die berechnung von aktiven hoch und tiefpaßweichen ?
Import-Script
16.07.2003, 07:30
also das mit der variablendeklaration möcht ich jetzt einfach mal bestreiten ;-) <BR> <BR>hier mein code: <BR> <BR>#include <reg515.h> <BR>#include <stdio.h> <BR> <BR>void main (void) { <BR> SCON = 0x50; <BR> TMOD |= 0x20; <BR> TH1 = 0xF3; <BR> TR1 = 1; <BR> TI = 1; <BR> <BR> while (1) { <BR> putchar(getchar()); <BR>} <BR>} <BR> <BR>was mir aufgefallen ist, ist dass die putchar() funktion recht aufgeblasen ist, aber mein problem besteht auch, wenn ich die ankommenden sachen an ein display schick, also kanns daran nicht liegen... <BR> <BR>grüße <BR>Thomas}
Import-Script
16.07.2003, 09:51
@Thomas, <BR> <BR>ja , da ist nichts umständlich. <BR>Das Problem wird warscheinlich in den Bibliotheksfunktionen putchar(), getchar liegen. <BR> <BR>Versuch sie doch Durch eigene Funktionen zu ersetzen: <BR> <BR>char putchar( char c ) <BR>{ <BR> while( TI == 0 ); <BR> TI = 0; <BR> return SBUF = c; <BR>} <BR> <BR> <BR>char getchar( void ) <BR>{ <BR> while( RI == 0 ); <BR> RI = 0; <BR> return SBUF; <BR>} <BR> <BR> <BR>Peter <BR> <BR> <BR>
Import-Script
18.07.2003, 00:25
super! <BR> <BR>danke für den tipp! <BR> <BR>ich bin auch schon auf die idee gekommen, die funktionen nachzuprogrammieren, aber ich hätte nicht gedacht, dass es so einfach ist ;-) <BR> <BR>funktioniert jetzt einwandfrei! <BR> <BR> <BR>grüße <BR>Thomas
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.