correctif
Dependencies: mbed RF24Network RF24
Diff: isen32_board.h
- Revision:
- 5:48f3f58ebd13
- Child:
- 6:6a3d4e0f6799
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/isen32_board.h Thu May 20 09:57:23 2021 +0000 @@ -0,0 +1,113 @@ +#include "mbed.h" + +// Nucleo Board associé à la carte ISEN + +DigitalOut Led1(LED1); // PA5 attention SPI CLK aussi +DigitalIn BTN_User(PC_13); + +// ISEN32 Board + +DigitalOut L0(PB_1); // Dels, en sortie, reliée à PB1 +DigitalOut L1(PB_2); +DigitalOut L2(PB_10); +DigitalOut L3(PB_11); +DigitalOut L4(PB_12); +DigitalOut L5(PB_13); +DigitalOut L6(PB_14); +DigitalOut L7(PB_15); // la plus à gauche + +DigitalIn BTN1(PA_11); // Bouton Poussoir, en entrée, relié à PA11 +//DigitalIn BTN2(PA_12); +//DigitalIn BTN3(PC_6); +//DigitalIn BTN4(PC_5); + +//DigitalOut BZ1(PC_7); // Buzzer, en sortie, relié à PC7 + +//DigitalOut M1(PB_4); // Moteur mini, en sortie, relié à PB4 +//PwmOut M1(PB_4); // Moteur mini en mode PWM + +// Lignes pour entrées analogiques +AnalogIn RV1(A0); // RV1, en entrée analogique, relié à PA0 +AnalogIn RV2(A1); // RV2, en entrée analogique, relié à PA1 +AnalogIn SENSOR(A4); // Pour capteur externe, exemple capt. de temp. MCP9700 Attention en conflit possible avec DAC + +// Lignes SPI pour piloter le MAX7219 +SPI spi(PA_7, PA_6, PA_5); +DigitalOut CS(PA_8); + +// Lignes I2C +//DigitalOut SCL(PB_6); +//DigitalOut SDA(PB_7); + +// Adresses des 2 EEPROMs I2C +#define EEPROM1 0b1010000 +#define EEPROM2 0b1010001 + +// Lignes pour piloter des servomoteurs +//DigitalOut SERVO1(PB_9); +//DigitalOut SERVO2(PB_8); +//DigitalOut SERVO3(PC_8); +//DigitalOut SERVO4(PC_9); + +// Lignes pour piloter 2 moteurs DC +//DigitalOut EN1(PB_10); +//PwmOut EN1(PB_10); +//DigitalOut IN1(PB_1); +//DigitalOut IN2(PB_2); + +void Set_8Dels(uint8_t position) +{ + L0 = position & 0x01; + L1 = position & 0x02; + L2 = position & 0x04; + L3 = position & 0x08; + L4 = position & 0x10; + L5 = position & 0x20; + L6 = position & 0x40; + L7 = position & 0x80; +} + +/* MAX7219 : Interface SPI pour afficheur 7 segments */ +void Init_spi(void) +{ + spi.format(16,3); // SPI en mode 16 bits + + CS = 0; +// spi.write(0x0F01); // Test Display On +// spi.write(0x0F00); // Test Display Off + spi.write(0x0C01); + CS = 1; + + CS = 0; + spi.write(0x090F); // Mode BCD sur 4 digits + CS = 1; + + CS = 0; + spi.write(0x0A03); // Intensité à 3/15 + CS = 1; + + CS = 0; + spi.write(0x0B03); + CS = 1; + +// CS = 0; +// spi.write(0x0F01); +// CS = 1; +// wait_ms(1000); + CS = 0; + spi.write(0x0F00); // Test mode Off + CS = 1; + + CS = 0; + spi.write(0x0101); // Chiffre des milliers + CS = 1; + CS = 0; + spi.write(0x0282); // Chiffre des centaines + CS = 1; + CS = 0; + spi.write(0x0303); // Chiffre des dizaines + CS = 1; + CS = 0; + spi.write(0x0404); // Chiffre des unités + CS = 1; +}