522042f71f8b6a3edd38b735c391b5cf0c135221
howto/come_gestire_comunicazione_rs485/gestione_rs485_con_schede_syel.md
... | ... | @@ -51,10 +51,10 @@ Nel **common.h** (o comunque in un file .h incluso nel common): |
51 | 51 | const int num_perif = 1; // numero della periferica (in questo caso 1) |
52 | 52 | const int dim_bufferTX = 129; // dimensioni massime del buffer con i dati da inviare (bufferTX) |
53 | 53 | const int dim_bufferRX = 16; // dimensioni massime del buffer in cui vengono salvati i dati ricevuti (bufferRX) |
54 | - const int num_out = 10; // numero totale di uscite |
|
54 | + const int num_out = 10; // numero totale di uscite digitali |
|
55 | 55 | |
56 | - volatile U8 bufferTX[dim_bufferTX]; // dichiara il buffer in cui prendere i dati da inviare |
|
57 | - volatile U8 bufferRX[dim_bufferRX]; // dichiara il buffer in cui salvare i dati ricevuti |
|
56 | + volatile char bufferTX[dim_bufferTX]; // dichiara il buffer in cui prendere i dati da inviare |
|
57 | + volatile char bufferRX[dim_bufferRX]; // dichiara il buffer in cui salvare i dati ricevuti |
|
58 | 58 | |
59 | 59 | volatile int flag_tx485 = 0; // flag relativa al tx della seriale |
60 | 60 | |
... | ... | @@ -71,8 +71,8 @@ Nel **common.h** (o comunque in un file .h incluso nel common): |
71 | 71 | volatile short int TXX = 0; // variabile per il conteggio dei pacchetti inviati |
72 | 72 | volatile short int RXX = 0; // variabile per il conteggio dei pacchetti ricevuti |
73 | 73 | |
74 | - volatile char In; // prima variabile per lettura ingressi |
|
75 | - volatile char Potenz; // seconda variabile per lettura ingressi |
|
74 | + volatile U8 In; // prima variabile per lettura ingressi |
|
75 | + volatile U8 Potenz; // seconda variabile per lettura ingressi |
|
76 | 76 | volatile char freq = 0; // variabile relativa alla frequanza del pwm |
77 | 77 | volatile char pwm = 0; // variabile relativa al duty cycle del pwm |
78 | 78 | volatile int p; // variabile ralativa al valore % della velocità dell'uscita pomp |
... | ... | @@ -106,7 +106,7 @@ Nel **common.h** (o comunque in un file .h incluso nel common): |
106 | 106 | // funzione che inizializza lo stato iniziale delle uscite all' avvio |
107 | 107 | void init_out(void) |
108 | 108 | { |
109 | - // inizializzazione uscite |
|
109 | + // inizializzazione uscite digitali |
|
110 | 110 | for (int i = 0; i < num_out; i++) |
111 | 111 | { |
112 | 112 | flag_out_on_off[i] = 0; // le flag delle uscite vengono messe tutte a 0 perchè all'avvio sono tutte spente |
... | ... | @@ -137,7 +137,7 @@ Nel **common.h** (o comunque in un file .h incluso nel common): |
137 | 137 | { |
138 | 138 | flag_tx485 = 0; // ogni 100 ms (vedi start.c) |
139 | 139 | |
140 | - // controlllo uscite |
|
140 | + // controlllo uscite digitali |
|
141 | 141 | for (int i = 0; i < num_out; i++) |
142 | 142 | if (flag_out_on_off[i] != flag_out_on_off_prec[i]) // se un' uscita ha cambiato stato |
143 | 143 | { |
... | ... | @@ -197,7 +197,7 @@ Nel **common.h** (o comunque in un file .h incluso nel common): |
197 | 197 | { |
198 | 198 | if (x == 0 && flag_pwm_on_off) // se l' uscita è la 1 (x == 0) e se il pwm è attivo |
199 | 199 | { // il terzo e quarto byte del bufferTX vengono impostati con freq e pwm |
200 | - bufferTX[2] = freq; |
|
200 | + bufferTX[2] = freq; // freq e pwm possono essere modificati tramite dei pulsanti grafici su una pagina |
|
201 | 201 | bufferTX[3] = pwm; |
202 | 202 | } |
203 | 203 | else // se l' uscita non è la 1 o se il pwm è disattivo |
... | ... | @@ -232,3 +232,4 @@ Nello **start.c**: |
232 | 232 | exec_timer(tx485, 100, 0); // esegue ogni 100 ms tx485 |
233 | 233 | exec_task(TaskCOM485, 0, 4); // esegue la TaskCOM485 |
234 | 234 | |
235 | + |