Quote by rh
Hallo Thorsten,
sorry, ich meinte SerStat
rolf
Hallo Rolf,
das hat jetzt in einer ganzen Menge Projekten ziemlich lange funktioniert.
Aber seit einigen Updates läuft das nicht mehr?
Oder ist mein uC zu schnell
14,7456MHz
Ich bin mir sicher das hatte damals funktioniert man hat immer ein pulsen auf der LED erkennen können. mittlerweile ist diese nur noch dunkel.
Da ich jetzt etwas Zeit habe bin ich mal auf die Suche gegangen, Mega1284P mit 14,7456MHz
Da ich es mit der Funktion "OUT_LED_COM:= SerStat2;" nicht mehr hinbekomme, nutze
ich den SerCtrl2 zum ansteuern der LED, leider habe ich aber somit nur ein blitzen auf der LED wenn mein uC selbst auf senden schaltet und nicht wenn Daten ankommmen.
Ich bin mir eigentlich sicher das es mal eine ganze Zeit funktioniert hatte:
Code
.......
Define
//Serport1
SerPort = 19200, Stop1; {Baud, StopBits|Parity}
RxBuffer = 064, iData;
TxBuffer = 064, iData;
//Serport2
SerPort2 = 19200, Databit8,parNone, Stop1;
RxBuffer2 = 255, iData;
TxBuffer2 = 100, iData;
SerCtrl2 = PortB, 2, positive; {control line for RS485 driver}
ModBus = SerPort2, 40, iData, 240;
ModBusMode = {ASCII;} RTU, Timer1;
........
var
...........
OUT_LED_COM [@PortD, 5 ] : bit;
OUT_RSEnable [@PortB, 2 ] : bit;
........
// Anzeige des COMSTATUS
procedure COMLED;
begin
OUT_LED_COM:= NOT( OUT_RSEnable );
end; // ENDE COMLED
.....
{ Main Program }
{$IDATA}
begin
COMLED; // Anzeige des COMSTATUS
Hier ist der ASM-Code von der Funktion mit SerCtrl2
Code
PVS_ILS_CPU.COMLED:
.RETURNS 0
.BLOCK 922
.LINE 923
CLR _ACCA
SBIC 025h, 002h
SER _ACCA
COM _ACCA
CLT
TST _ACCA
BREQ PVS_ILS_CPU._L0476
SET
Das ist der ASM-Code der leider nicht mehr läuft:
Code
PVS_ILS_CPU.COMLED:
.RETURNS 0
.BLOCK 922
.LINE 925
CALL SYSTEM.SERSTAT2
CLT
TST _ACCA
BREQ PVS_ILS_CPU._L0476
SET
Vielleicht habe ich auch einen Denkfehler.
AVRco ist die aktuelle Version
Gruss
Thorsten