Example host software for the Maxim Integrated MAX5487, MAX5488, MAX5489 Digital Pot/Digital Potentiometer/Rheostat/Variable Resistor. Hosted on the MAX32630FTHR FeatherWing micro-controller board.
Dependencies: MAX5487_Digital_Pot_Potentiometer_Rheostat_Resistor_Wiper USBDevice max32630fthr
main.cpp@0:eb0e7b4d9df3, 2018-07-10 (annotated)
- Committer:
- jungkeviny
- Date:
- Tue Jul 10 05:28:26 2018 +0000
- Revision:
- 0:eb0e7b4d9df3
- Child:
- 1:9f552131dd08
initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jungkeviny | 0:eb0e7b4d9df3 | 1 | #include "mbed.h" |
jungkeviny | 0:eb0e7b4d9df3 | 2 | #include "max32630fthr.h" |
jungkeviny | 0:eb0e7b4d9df3 | 3 | #include "USBSerial.h" |
jungkeviny | 0:eb0e7b4d9df3 | 4 | |
jungkeviny | 0:eb0e7b4d9df3 | 5 | #include "MAX5487.h" |
jungkeviny | 0:eb0e7b4d9df3 | 6 | |
jungkeviny | 0:eb0e7b4d9df3 | 7 | //MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); |
jungkeviny | 0:eb0e7b4d9df3 | 8 | |
jungkeviny | 0:eb0e7b4d9df3 | 9 | // Hardware serial port over DAPLink |
jungkeviny | 0:eb0e7b4d9df3 | 10 | Serial daplink(P2_1, P2_0); |
jungkeviny | 0:eb0e7b4d9df3 | 11 | |
jungkeviny | 0:eb0e7b4d9df3 | 12 | // Virtual serial port over USB |
jungkeviny | 0:eb0e7b4d9df3 | 13 | USBSerial microUSB; |
jungkeviny | 0:eb0e7b4d9df3 | 14 | |
jungkeviny | 0:eb0e7b4d9df3 | 15 | |
jungkeviny | 0:eb0e7b4d9df3 | 16 | DigitalOut led1(LED1); // led to blink |
jungkeviny | 0:eb0e7b4d9df3 | 17 | DigitalOut selectPin(P3_0); // Pin 6_0 is used to drive chip enable low |
jungkeviny | 0:eb0e7b4d9df3 | 18 | |
jungkeviny | 0:eb0e7b4d9df3 | 19 | SPI spi(P5_1, P5_2, P5_0); // mosi, miso, sclk |
jungkeviny | 0:eb0e7b4d9df3 | 20 | |
jungkeviny | 0:eb0e7b4d9df3 | 21 | MAX32630FTHR pegasus; |
jungkeviny | 0:eb0e7b4d9df3 | 22 | |
jungkeviny | 0:eb0e7b4d9df3 | 23 | // main() runs in its own thread in the OS |
jungkeviny | 0:eb0e7b4d9df3 | 24 | int main() { |
jungkeviny | 0:eb0e7b4d9df3 | 25 | pegasus.init(MAX32630FTHR::VIO_3V3); |
jungkeviny | 0:eb0e7b4d9df3 | 26 | |
jungkeviny | 0:eb0e7b4d9df3 | 27 | selectPin=1; |
jungkeviny | 0:eb0e7b4d9df3 | 28 | |
jungkeviny | 0:eb0e7b4d9df3 | 29 | spi.format(8,0); |
jungkeviny | 0:eb0e7b4d9df3 | 30 | |
jungkeviny | 0:eb0e7b4d9df3 | 31 | spi.frequency(1000000); |
jungkeviny | 0:eb0e7b4d9df3 | 32 | |
jungkeviny | 0:eb0e7b4d9df3 | 33 | selectPin=0; |
jungkeviny | 0:eb0e7b4d9df3 | 34 | int test1 = spi.write(0x01); |
jungkeviny | 0:eb0e7b4d9df3 | 35 | printf("returned value 1: %d\r\n", test1); |
jungkeviny | 0:eb0e7b4d9df3 | 36 | int test2 = spi.write(0xFF); |
jungkeviny | 0:eb0e7b4d9df3 | 37 | printf("returned value 2: %d\r\n", test2); |
jungkeviny | 0:eb0e7b4d9df3 | 38 | selectPin=1; |
jungkeviny | 0:eb0e7b4d9df3 | 39 | while (true) { |
jungkeviny | 0:eb0e7b4d9df3 | 40 | // printf("hi\r\n"); |
jungkeviny | 0:eb0e7b4d9df3 | 41 | led1 = !led1; |
jungkeviny | 0:eb0e7b4d9df3 | 42 | // wait(0.5); |
jungkeviny | 0:eb0e7b4d9df3 | 43 | Thread::wait(500); |
jungkeviny | 0:eb0e7b4d9df3 | 44 | } |
jungkeviny | 0:eb0e7b4d9df3 | 45 | } |
jungkeviny | 0:eb0e7b4d9df3 | 46 | |
jungkeviny | 0:eb0e7b4d9df3 | 47 |