Bonjour,
Question basique pour la plupart d'entre vous mais j'aimerais votre confirmation.
J'ai besoin de lire la valeur d'un port et d'ecrire a l'adresse d'un autre sur un microcontroller ARM.
Voici mon code :
N.B: "bit_8_e" est un typedef enum
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 /* Port address */ #define INPUT_PORT_ADDR 0x40 //Input Port Address - to be defined #define OUTPUT_PORT_ADDR 0x80 //Output Port Address - to be defined void Output_to_keypad(unsigned char output) { unsigned char * KeypadRowPort = (unsigned char *)OUTPUT_PORT_ADDR; // Set output to keypad row *KeypadRowPort = output; } bit_8_e Input_from_keypad(void) { bit_8_e InputKey; // Get input from keypad column InputKey = * ((bit_8_e *) INPUT_PORT_ADDR); return (InputKey); }
Pouvez-vous me confirmer que cela est correct?
Partager