ocrobot:alpha:d21g18a:tutorial03
DAC使用
#include <Arduino.h> // required before wiring_private.h #include "wiring_private.h" // pinPeripheral() function int sinv[200]; const float pi=3.14; //Serial2用于打印调试信息 11-RX 10-TX Uart Serial2 (&sercom1, 11, 10, SERCOM_RX_PAD_0, UART_TX_PAD_2); void SERCOM1_Handler() { Serial2.IrqHandler(); } void setup() { // pinMode(A0, OUTPUT); //DAC输出时不需要设置此项 analogWriteResolution(10); //10位分辨率 analogWrite(A0, 0); Serial2.begin(115200); pinPeripheral(10, PIO_SERCOM); pinPeripheral(11, PIO_SERCOM); delay(1000); for (int i=0;i<200;++i) //计算正弦波200点 { sinv[i]=(int)(512.0*sin(2*pi/200*i)+512); //满幅度3.3v 中心位置1024/2=512 delay(10); Serial2.print("i= "); Serial2.println(i); Serial2.println(sinv[i]); } Serial2.println( sin(2*pi/200)); } int i; void loop() { int output; analogWrite(A0, sinv[i]); delayMicroseconds(1); i++; if(i>=200) i=0; }
ocrobot/alpha/d21g18a/tutorial03.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1