Potentiometer AD5204,AD5206 library.
Embed:
(wiki syntax)
Show/hide line numbers
MjAD520x.cpp
00001 #include "MjAD520x.h" 00002 00003 MjAD520x::MjAD520x(PinName mosi, PinName miso, PinName sclk, PinName cs_n, int terminalResistance) 00004 : HwSpi(mosi, miso, sclk), HwCs_n(cs_n, 1) 00005 { 00006 TerminalResistance = terminalResistance; 00007 00008 HwSpi.format(11, 0); 00009 HwSpi.frequency(1000000); 00010 } 00011 00012 void MjAD520x::write(int channel, int resistance) 00013 { 00014 write_u8(channel, resistance <= TerminalResistance ? resistance * 255 / TerminalResistance : 255); 00015 } 00016 00017 void MjAD520x::write_u8(int channel, uint8_t value) 00018 { 00019 HwCs_n.write(0); 00020 wait_us(1); 00021 00022 HwSpi.write(channel << 8 | value); 00023 00024 HwCs_n.write(1); 00025 wait_us(1); 00026 } 00027
Generated on Wed Jul 13 2022 01:54:50 by 1.7.2