Mini projet LOO
Dependencies: mbed APDS_9960 mbed-rtos
Home du projet
src/cSPI.cpp
- Committer:
- Willheisen
- Date:
- 2016-04-24
- Revision:
- 39:1aead50ff166
- Parent:
- 36:f58a566595ad
File content as of revision 39:1aead50ff166:
#include "cSPI.h" #include "cMatrice.h" DigitalOut _cs(p14); SPI _spi(p11,p12, p13); // CONSTRUCTEURS cSPI::cSPI() { _freq = 0; _mode = 0; _bits = 0; } // DESTRUCTEUR cSPI::~cSPI() { } // GETTERS unsigned int cSPI::getFrequence() { return _freq; } unsigned int cSPI::getMode() { return _mode; } unsigned char cSPI::getBits() { return _bits; } // SETTERS void cSPI::setFrequence(unsigned int freq) { _freq = freq; } void cSPI::setMode(unsigned int mode) { _mode = mode; } void cSPI::setBits(unsigned char bits) { _bits = bits; } //Méthode d'initialisation de la liaison SPI //Entrées: fréquence: valeur de la fréquence de la liaison //Sorties: aucune. void cSPI::initSPI(unsigned int frequence) { _cs = 0; wait_ms(1); _spi.frequency(frequence); wait_ms(1); _cs = 1; } //Méthode de rafraîchissemnt des matrices //Entrées: mat: matrice à afficher //Sorties: aucune. void cSPI::envoyerMatrice(cMatrice & mat) { Serial pc(USBTX, USBRX); _cs = 0; wait_ms(1); //On rafraîchit la matrice la plus éloignée du Mbed for(unsigned char i = 0; i < mat.getCol(); i++) { for(unsigned char j = 0; j < mat.getLig()/2; j ++) { _spi.write(mat.getValTab(i, j)); } } //Puis la seconde for(unsigned char i = 0; i < mat.getCol(); i++) { for(unsigned char j = mat.getLig()/2; j < mat.getLig(); j ++) { _spi.write(mat.getValTab(i, j)); } } wait_ms(1); _cs = 1; } //Méthode de configuration du nombre de matrices de LEDs en DaisyChain //Entrées: nb: entier qui correspond au nombre de matrices //Sorties: aucune. void cSPI::setNbMatrice(unsigned int nb) { _cs = 0; wait_ms(1); _spi.write('%'); _spi.write(nb); wait_ms(1); _cs = 1; }