본문 바로가기

WCH/CH32V307

CH32V307 SM - Arduino ADC, DAC 테스트

 

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);
}
반응형