Forum: Mikrocontroller und Digitale Elektronik FreeRTOS + LWIP + UART Interrupt Problem


von Mathias S. (stucmath)


Angehängte Dateien:

Lesenswert?

Guten Tag

Ich arbeite momentan an einer ModBus-RTU (RS-232) zu ModBus TCP Bridge.
Als OS verwende ich FreeRTOS, für die TCP Implementierung den LWIP-Stack 
und für ModBus den Stack von Embeddeed Solutions.

Als Hardware dient der STM32f107 in Verbindung mit dem PHY DP83848C.

Die Implementierung der Stacks ist bereits erfolgt und diese 
funktionieren auch wunschgemäss. Verwende ich jedoch ModBus Master 
(RS232) zusammen mit ModBus Slave (TCP) hängt sich das System nach 
kurzer Zeit auf.
ModBus Slave alleine läuft ohne Probleme. Das selbe gilt auch für Modbus 
Master alleine.


Ich bin mir ziemlich sicher das ich etwas mit den Interrupts falsch 
mache!
Stehe aber momentan ziemlich auf dem Schlauch und wäre froh wenn mir 
jemand von euch helfen könnte.

Vielen Dank

Gruss Mathias

1
void
2
vApp1Task( void *pvParameters )
3
{
4
    xMBSHandle xMBSHdl = NULL;
5
6
    LwIP_Init(  );
7
8
    for( ;; )
9
    {
10
        if( NULL == xMBSHdl )
11
        {
12
            eMBSTCPInit( &xMBSHdl, MBS_LISTEN_ADDRESS, MBS_LISTEN_PORT );
13
            eMBSRegisterDiscreteCB( xMBSHdl, eMyDiscreteInputCB );
14
        }
15
        else
16
        {
17
            //Wird diese Zeile auskommentiert so funktioniert ModBus Master
18
            eMBSPoll( xMBSHdl );
19
        }
20
        vTaskDelay( 1 );
21
    }
22
}
23
24
void
25
vApp2Task( void *pvParameters )
26
{   
27
    ModBusMaster_init();
28
29
    for(;;)
30
    {
31
         //Wird diese Zeile auskommentiert so funktioniert ModBus Slave
32
       eMBMReadCoils( xMBMMaster, 10, COIL_SYSTEMDATAADR_R, COIL_SYSTEMDATACNT_R, RegCoilSystemR );
33
       vTaskDelay( 1000 );
34
    }
35
}

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.