|
|
本帖最后由 Stormer 于 2017-3-12 03:51 编辑
我做了个简单的测试,想输出不同的模拟信号到A0,然后再从A1读取过来。
结果从串口监视器观察发现,读取A1的值只有0和1023两个值。。晕了。这是什么情况? for里我该怎么写才能从0逐步输出到最大值,同时A1能正常接收?
----------------
刚改了下代码,结果还是一样。
- int i=0;
- void setup() {
- Serial.begin(9600);
- while (!Serial) {;}
- }
- void loop() {
- analogWrite(A0, i);
-
- int v = analogRead(A1);
- Serial.println(v);
- if(i<=255)
- {
- i = i+1;
- }
- else
- {
- i = 0;
- }
- delay(20);
- }
复制代码
---------------------------------
再次修改代码,这次就输出个固定值,用A1接收全是0.
OK,那只留下从A0输出的代码,用示波器看看A0输出的到底是什么鬼。
-
- void setup() {
- Serial.begin(9600);
- while (!Serial) {;}
- }
- void loop() {
- analogWrite(0, 255);
-
- }
复制代码
果然。。也不是方波。这个模拟输出的函数到底是干嘛的?我的理解就是直接输出指定的电压值啊,是不是理解错了?
只好坐等各位大神回复了。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|