

amptest
This repository has no backups
This repository's network speed is throttled to 100KB/sec
Upgrade your account to fix these warnings, or use backups.vc for automated backups
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
#include <Arduino.h> #include <SPI.h> #include "dac.h" //#define USE_SPI #ifdef USE_SPI #define CS_PIN 10 // SYNC #define LDAC_PIN 8 #define MODEBIT_PD0 0x1000 #define MODEBIT_PD1 0x2000 #define MODEBIT_BUF 0x4000 #define MODEBIT_ChB 0x8000 #else #define DAC_PIN DAC0 #endif // USE_SPI void dac_init() { #if defined(USE_SPI) pinMode(CS_PIN, OUTPUT); digitalWrite(CS_PIN, HIGH); pinMode(LDAC_PIN, OUTPUT); digitalWrite(LDAC_PIN, HIGH); SPI.begin(); SPI.setBitOrder(MSBFIRST); SPI.setDataMode(SPI_MODE1); #else pinMode(DAC_PIN, OUTPUT); analogWriteResolution(12); #endif // __SAM3X8E__ } void dac_write(uint32_t dac) { uint32_t value = dac; #if defined(USE_SPI) //value |= MODEBIT_ChB; // channel B digitalWrite(CS_PIN, LOW); delay(1); SPI.transfer((value >> 8) & 0xFF); SPI.transfer(value & 0xFF); digitalWrite(CS_PIN, HIGH); digitalWrite(LDAC_PIN, LOW); delay(1); digitalWrite(LDAC_PIN, HIGH); #else analogWrite(DAC_PIN, value); #endif // __SAM3X8E__ } |
Commits for amptest/trunk/dac.cpp
Revision | Author | Commited | Message |
---|---|---|---|
2 |
![]() |
Wed 20 Jul, 2022 00:52:33 +0000 |