Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
fonctions.h@3:4ec898e0b61a, 2022-04-21 (annotated)
- Committer:
- Giamarchi
- Date:
- Thu Apr 21 17:22:06 2022 +0000
- Revision:
- 3:4ec898e0b61a
I2C EEPROM Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Giamarchi | 3:4ec898e0b61a | 1 | //============================================================================== |
Giamarchi | 3:4ec898e0b61a | 2 | // Fichier : fonctions.h |
Giamarchi | 3:4ec898e0b61a | 3 | // |
Giamarchi | 3:4ec898e0b61a | 4 | // Description de fonctions utilisées pour la station météo |
Giamarchi | 3:4ec898e0b61a | 5 | //============================================================================== |
Giamarchi | 3:4ec898e0b61a | 6 | #include "mbed.h" |
Giamarchi | 3:4ec898e0b61a | 7 | // Déclaration des variables et des constantes |
Giamarchi | 3:4ec898e0b61a | 8 | |
Giamarchi | 3:4ec898e0b61a | 9 | InterruptIn Anem(PB_4); // La ligne est déclarée en interruption |
Giamarchi | 3:4ec898e0b61a | 10 | Timer Fenetre_Temps; // Déclaration d'un compteur |
Giamarchi | 3:4ec898e0b61a | 11 | |
Giamarchi | 3:4ec898e0b61a | 12 | uint16_t nombre; |
Giamarchi | 3:4ec898e0b61a | 13 | |
Giamarchi | 3:4ec898e0b61a | 14 | void ISR_Compteur(void) // Fonction d'interruption (Interrupt Sub Routine) |
Giamarchi | 3:4ec898e0b61a | 15 | { |
Giamarchi | 3:4ec898e0b61a | 16 | nombre++; // Compte le nombre de rotation de l'axe |
Giamarchi | 3:4ec898e0b61a | 17 | } |
Giamarchi | 3:4ec898e0b61a | 18 | |
Giamarchi | 3:4ec898e0b61a | 19 | void Init_Fonctions(void) |
Giamarchi | 3:4ec898e0b61a | 20 | { |
Giamarchi | 3:4ec898e0b61a | 21 | Anem.mode(PullUp); // Activation résistance de Pullup |
Giamarchi | 3:4ec898e0b61a | 22 | Fenetre_Temps.start(); // Déclenche le timer |
Giamarchi | 3:4ec898e0b61a | 23 | Anem.rise(&ISR_Compteur); // Interruption sur front montant |
Giamarchi | 3:4ec898e0b61a | 24 | Anem.fall(&ISR_Compteur); |
Giamarchi | 3:4ec898e0b61a | 25 | } |
Giamarchi | 3:4ec898e0b61a | 26 | //============================================================================== |
Giamarchi | 3:4ec898e0b61a | 27 | // Fonction : Girouette |
Giamarchi | 3:4ec898e0b61a | 28 | // Entrée : Pas de paramètres en entrée |
Giamarchi | 3:4ec898e0b61a | 29 | // Sortie : vitesse du vent en 16bits |
Giamarchi | 3:4ec898e0b61a | 30 | |
Giamarchi | 3:4ec898e0b61a | 31 | // this function has 63 bytes write limit |
Giamarchi | 3:4ec898e0b61a | 32 | void writeEEPROM(int address, unsigned int eeaddress, char *data, int size) |
Giamarchi | 3:4ec898e0b61a | 33 | { |
Giamarchi | 3:4ec898e0b61a | 34 | char i2cBuffer[size + 2]; |
Giamarchi | 3:4ec898e0b61a | 35 | i2cBuffer[0] = (unsigned char)(eeaddress >> 8); // MSB |
Giamarchi | 3:4ec898e0b61a | 36 | i2cBuffer[1] = (unsigned char)(eeaddress & 0xFF); // LSB |
Giamarchi | 3:4ec898e0b61a | 37 | |
Giamarchi | 3:4ec898e0b61a | 38 | for (int i = 0; i < size; i++) { |
Giamarchi | 3:4ec898e0b61a | 39 | i2cBuffer[i + 2] = data[i]; |
Giamarchi | 3:4ec898e0b61a | 40 | } |
Giamarchi | 3:4ec898e0b61a | 41 | |
Giamarchi | 3:4ec898e0b61a | 42 | int result = i2c.write(address, i2cBuffer, size + 2, false); |
Giamarchi | 3:4ec898e0b61a | 43 | wait_ms(6); |
Giamarchi | 3:4ec898e0b61a | 44 | } |
Giamarchi | 3:4ec898e0b61a | 45 | |
Giamarchi | 3:4ec898e0b61a | 46 | // Nucleo - L432KC - L031K6 |
Giamarchi | 3:4ec898e0b61a | 47 | |
Giamarchi | 3:4ec898e0b61a | 48 | // PA_9 Vin |
Giamarchi | 3:4ec898e0b61a | 49 | // PA_10 Gnd |
Giamarchi | 3:4ec898e0b61a | 50 | // NRST NRST |
Giamarchi | 3:4ec898e0b61a | 51 | // Gnd 5V |
Giamarchi | 3:4ec898e0b61a | 52 | // PA_12 PA_2 |
Giamarchi | 3:4ec898e0b61a | 53 | // PB_0 PA_7 |
Giamarchi | 3:4ec898e0b61a | 54 | // PB_7 SDA PA_6 |
Giamarchi | 3:4ec898e0b61a | 55 | // PB_6 SCL PA_5 |
Giamarchi | 3:4ec898e0b61a | 56 | // PB_1 PA_4 |
Giamarchi | 3:4ec898e0b61a | 57 | // NC PA_3 |
Giamarchi | 3:4ec898e0b61a | 58 | // NC PA_1 |
Giamarchi | 3:4ec898e0b61a | 59 | // PA_8 PA_0 AN0 |
Giamarchi | 3:4ec898e0b61a | 60 | // PA_11 Aref |
Giamarchi | 3:4ec898e0b61a | 61 | // PB_5 3V3 |
Giamarchi | 3:4ec898e0b61a | 62 | // PB_4 PB_3 |