CH32V307에는 2개의 12bit DAC 가 있다.
기존 DAC코드로 구동시 정상 동작을 하지 않는다.
variant_CH32V307VCT6.h 파일을 확인 해 보니 DAC 채널의 경우 포트 설정을 아래와 같이 설정해 주어야 한다.
#define PA4_ALT2 (PA4 | ALT2) //for DAC_Channel1
#define PA5_ALT2 (PA5 | ALT2) //for DAC_Channel2
VR이 연결된 PA0의 ADC값을 읽어 DAC1으로 출력 하는 간단한 예제로 정상 동작하는것을 확인 했다.
const int analogInPin = A0;
//const int analogOutPin = PA4;
const int analogOutPin = PA4_ALT2;
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
Serial.begin(115200);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
outputValue = sensorValue;
analogWrite(analogOutPin, outputValue);
// print the results to the Serial Monitor:
Serial.print(sensorValue);
Serial.print(",");
Serial.println(outputValue);
delay(2);
}
반응형