AD and DA using mbed official library for ST Nucleo F401RE.

Dependencies:   mbed

Committer:
MikamiUitOpen
Date:
Wed Nov 05 04:03:45 2014 +0000
Revision:
1:09cc28c39f81
Parent:
0:ab1c0a2028da
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:ab1c0a2028da 1 //------------------------------------------------------------
MikamiUitOpen 0:ab1c0a2028da 2 // Sinple DAC class using SPI interface
MikamiUitOpen 0:ab1c0a2028da 3 // DAC: MCP4922, using only channel A (VOUTA)
MikamiUitOpen 0:ab1c0a2028da 4 //------------------------------------------------------------
MikamiUitOpen 0:ab1c0a2028da 5
MikamiUitOpen 0:ab1c0a2028da 6 class DacA
MikamiUitOpen 0:ab1c0a2028da 7 {
MikamiUitOpen 0:ab1c0a2028da 8 public:
MikamiUitOpen 0:ab1c0a2028da 9 // Constructor
MikamiUitOpen 0:ab1c0a2028da 10 DacA()
MikamiUitOpen 0:ab1c0a2028da 11 : mySpi_(SPI_MOSI, NC, SPI_SCK), // D11, NC, D13
MikamiUitOpen 0:ab1c0a2028da 12 myCs_(SPI_CS, 1), // D10, CS <= H
MikamiUitOpen 0:ab1c0a2028da 13 myLd_(D12, 0) // D12, LDAC <= L
MikamiUitOpen 0:ab1c0a2028da 14 {
MikamiUitOpen 0:ab1c0a2028da 15 // Set SPI format and bus frequency
MikamiUitOpen 0:ab1c0a2028da 16 mySpi_.format(16, 0);
MikamiUitOpen 0:ab1c0a2028da 17 mySpi_.frequency(20000000); // SPI clock: 20 MHz
MikamiUitOpen 0:ab1c0a2028da 18 }
MikamiUitOpen 0:ab1c0a2028da 19
MikamiUitOpen 0:ab1c0a2028da 20 // 0 <= value <= 4095
MikamiUitOpen 0:ab1c0a2028da 21 void Write(uint16_t value)
MikamiUitOpen 0:ab1c0a2028da 22 {
MikamiUitOpen 0:ab1c0a2028da 23 myCs_.write(0); // cs <= L
MikamiUitOpen 0:ab1c0a2028da 24 mySpi_.write(value | 0x3000);
MikamiUitOpen 0:ab1c0a2028da 25 myCs_.write(1); // cs <= H
MikamiUitOpen 0:ab1c0a2028da 26 }
MikamiUitOpen 0:ab1c0a2028da 27
MikamiUitOpen 0:ab1c0a2028da 28 private:
MikamiUitOpen 0:ab1c0a2028da 29 SPI mySpi_; // SPI object
MikamiUitOpen 0:ab1c0a2028da 30 DigitalOut myCs_; // for chip select
MikamiUitOpen 0:ab1c0a2028da 31 DigitalOut myLd_; // for LDAC
MikamiUitOpen 0:ab1c0a2028da 32 };