- Messaggi: 17
- Ringraziamenti ricevuti 0
Configurazione EUSART per MODBUS
13 Anni 5 Mesi fa #1
da cristian.perini2
Configurazione EUSART per MODBUS è stato creato da cristian.perini2
Ciao,
prima di tutto chiarisco quale è il mio progetto:
Implementare il protocollo MODBUS.
Per adesso ho imbastito lo scheletro per la gestione dei Task con un semplice scheduler.
Ho 3 Task, fast a 125ms, slow 250ms e Background a 500ms. Il Timer0 mi genera un interrupt ad alta priorità ogni 62.5 ms, nella routine di gestione, viene chiamato lo scheduler che decide quale Task mandare in onda.
Questo giusto per dare un'idea di come ho strutturato il codice.
A questo punto volevo configurare la EUSART per gestirla anche questa ad interrupt in quanto i task che ho non sono abbastanza veloci per una gestione a polling.
Visto che già avevo mappato il Timer0 come interrupt ad alta priorità per realizzare una sorta di "real-time" volevo configurare quello della EUSART a bassa priorità, non ci sono riuscito.
Sono io che non sono capace o effettivamente lo si può gestire solo ad alta?
Grazie.
prima di tutto chiarisco quale è il mio progetto:
Implementare il protocollo MODBUS.
Per adesso ho imbastito lo scheletro per la gestione dei Task con un semplice scheduler.
Ho 3 Task, fast a 125ms, slow 250ms e Background a 500ms. Il Timer0 mi genera un interrupt ad alta priorità ogni 62.5 ms, nella routine di gestione, viene chiamato lo scheduler che decide quale Task mandare in onda.
Questo giusto per dare un'idea di come ho strutturato il codice.
A questo punto volevo configurare la EUSART per gestirla anche questa ad interrupt in quanto i task che ho non sono abbastanza veloci per una gestione a polling.
Visto che già avevo mappato il Timer0 come interrupt ad alta priorità per realizzare una sorta di "real-time" volevo configurare quello della EUSART a bassa priorità, non ci sono riuscito.
Sono io che non sono capace o effettivamente lo si può gestire solo ad alta?
Grazie.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- cristian.perini2
- Autore della discussione
- New Member
Riduci
Di più
13 Anni 5 Mesi fa #2
da cristian.perini2
Risposta da cristian.perini2 al topic Re: Configurazione EUSART per MODBUS
Risolto!!
sarebbe bastato leggere un pochino più attentamente il Datasheet, ma la fretta di iniziare spesso è troppa!
sarebbe bastato leggere un pochino più attentamente il Datasheet, ma la fretta di iniziare spesso è troppa!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- cristian.perini2
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 17
- Ringraziamenti ricevuti 0
13 Anni 5 Mesi fa #3
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Configurazione EUSART per MODBUS
Ciao,
l'architettura dei PIC18 permette di mappare ogni periferica che ha l'opzione d'interruzione, sia come periferica ad alta priorità che a bassa.
La modalità compatibile considera le periferiche automaticamente ad alta priorità.
Qual'era l'errore che avevi fatto...non considerando che non avevi letto il datasheet?
Saluti,
Mauro
l'architettura dei PIC18 permette di mappare ogni periferica che ha l'opzione d'interruzione, sia come periferica ad alta priorità che a bassa.
La modalità compatibile considera le periferiche automaticamente ad alta priorità.
Qual'era l'errore che avevi fatto...non considerando che non avevi letto il datasheet?
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
13 Anni 5 Mesi fa #4
da cristian.perini2
Risposta da cristian.perini2 al topic Re: Configurazione EUSART per MODBUS
Ciao,
L' errore è stato quello di affidarmi alla documentazione della Libreria EUSART, dove non faceva riferimento a come impostare il livello di priorità.
Secondo voi è corretto come ho pensato di organizzare il codice?
ciao
L' errore è stato quello di affidarmi alla documentazione della Libreria EUSART, dove non faceva riferimento a come impostare il livello di priorità.
Secondo voi è corretto come ho pensato di organizzare il codice?
ciao
Si prega Accedi o Crea un account a partecipare alla conversazione.
- cristian.perini2
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 17
- Ringraziamenti ricevuti 0
13 Anni 5 Mesi fa #5
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Configurazione EUSART per MODBUS
Ciao Cristian,
il programma mi sembra ben strutturato.
L'utilizzo dei task da avviare in tempi diversi è un approccio molto usato e che permette di realizzare dei mini "sistemi operativi".
Parli di eseguire i task a questi intervalli 125ms, slow 250ms e Background a 500ms.
Perché Il Timer0 mi genera un interrupt ad alta priorità ogni 62.5 ms. Non puoi rilassare i tempi da poter interrompere ogni 125ms?
Saluti,
Mauro
il programma mi sembra ben strutturato.
L'utilizzo dei task da avviare in tempi diversi è un approccio molto usato e che permette di realizzare dei mini "sistemi operativi".
Parli di eseguire i task a questi intervalli 125ms, slow 250ms e Background a 500ms.
Perché Il Timer0 mi genera un interrupt ad alta priorità ogni 62.5 ms. Non puoi rilassare i tempi da poter interrompere ogni 125ms?
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.