3047ec002a3e7838781d0f3587614d2fc0d7c729
howto/come_gestire_comunicazione_CAN_con_PUZZE.md
... | ... | @@ -1,8 +1,10 @@ |
1 | -Quando si ha più di una **periferica PUZZLE** con cui comunicare in **CAN**, il modo per gestirle è di inlcudere nel **common.h** la libreria **puzzle.h** |
|
1 | +Quando si ha una più **periferiche PUZZLE** con cui comunicare in **CAN**, il modo per gestirle è di inlcudere nel **common.h** la libreria **puzzle.h** |
|
2 | 2 | |
3 | 3 | Nella libreria è presente anche la parte per la comunicazione in RS485. |
4 | 4 | |
5 | -Nel common.h o comunque in un file .h incluso nel common: |
|
5 | +Più avanti troverai anche la parte in start.c. |
|
6 | + |
|
7 | +Nel puzzle.h: |
|
6 | 8 | |
7 | 9 | // For multiperif: |
8 | 10 | // #define PUZZLE_PERIFS 2, 3, 4, ... |
... | ... | @@ -2613,3 +2615,32 @@ Nel common.h o comunque in un file .h incluso nel common: |
2613 | 2615 | } |
2614 | 2616 | } |
2615 | 2617 | |
2618 | +Nello start.c: |
|
2619 | + |
|
2620 | + // Configurazione puzzle |
|
2621 | + xn_config[0] = C_PT100; // Ogni slot xn viene configurato con la cosa collegata |
|
2622 | + xn_config[1] = C_PT100; |
|
2623 | + xn_config[2] = C_IN; |
|
2624 | + xn_config[3] = C_EMPTY; |
|
2625 | + xn_config[4] = C_EMPTY; |
|
2626 | + xn_config[5] = C_EMPTY; |
|
2627 | + xn_config[6] = C_EMPTY; |
|
2628 | + xn_config[7] = C_EMPTY; |
|
2629 | + //-------------------------------------- |
|
2630 | + p1_xn_config[0] = C_PT100; // Anche per la periferica 1 |
|
2631 | + p1_xn_config[1] = C_EMPTY; |
|
2632 | + p1_xn_config[2] = C_IN; |
|
2633 | + p1_xn_config[3] = C_IN; |
|
2634 | + p1_xn_config[4] = C_EMPTY; |
|
2635 | + p1_xn_config[5] = C_EMPTY; |
|
2636 | + p1_xn_config[6] = C_EMPTY; |
|
2637 | + p1_xn_config[7] = C_EMPTY; |
|
2638 | + |
|
2639 | + // deve essere fatto per ogni periferica |
|
2640 | + |
|
2641 | + |
|
2642 | + puzzle_start_can(1, 1); // inizializza il CAN (e1, e2) indicano: e1 = 0 --> no espansione da 1 a 4 e no encoder 1 |
|
2643 | + // e1 = 1 --> si espansioni da 1 a 4 oppure si encoder 1 |
|
2644 | + // e2 = 0 --> no espansione da 5 a 8 e no encoder 2 |
|
2645 | + // e2 = 1 --> si espansione da 5 a 8 oppure si encoder 2 |
|
2646 | + |