SPI 12bit D/A 2ch MCP4922 library
MCP4922.cpp
- Committer:
- ritarosakai
- Date:
- 2019-08-05
- Revision:
- 0:2e338068a5a7
- Child:
- 1:6c010acaae66
File content as of revision 0:2e338068a5a7:
#include "MCP4922.h" #include "mbed.h" MCP4922::MCP4922(PinName MOSI,PinName MISO,PinName SCK,PinName CS,PinName LDAC): dac_SPI(MOSI,MISO,SCK),dac_cs(CS),dac_l(LDAC) { dac_SPI.format(16,0); dac_SPI.frequency(20000000); dac_cs=1; dac_l=1; } void MCP4922::write(int ch,float value) { if(value<0) { value=0; } else if(value>1) { value=1; } dac_cs=0; int data; if(ch==0) { data=(0b0011<<12)|(int)(value*0xFFF); } else if(ch==1) { data=(0b1011<<12)|(int)(value*0xFFF); } dac_SPI.write(data); dac_cs=1; dac_l=0; dac_l=1; }