本帖最後由 ates1687 於 2017-5-6 20:46 編輯 超新手 發表於 2017-5-6 06:53 超新手不好意思,我這邊已經改用紅外線發射接收去當作一個類似arduino跟arduino之間傳輸訊號的方式 那在這幾個回覆中算是感謝你、辛苦你幫我解惑!! 更新:(= =紅外線也不行) |
你的硬體 serial和 SoftwareSerial 衝到了 硬體 serial 接腳是 0 和 1 SoftwareSerial 也設成 0 和 1 所以它就錯亂了 |
超新手 發表於 2017-5-5 12:42 #include <SoftwareSerial.h> int i; SoftwareSerial mySerial(0, 1); // RX, TX void setup() { mySerial.begin(9600); } void loop() // run over and over { if (mySerial.available()) i = Serial.write(mySerial.read()); } |
接收端程式是怎麼寫的? |
線路怎麼接的? |
超新手 發表於 2017-5-2 16:10 你好,剛剛試了兩個Arduino Nano 接TX RX 可以正常通訊 但是Arduino Nano 對 Arduino Uno 的通訊不正常,可以問一下問題在哪嗎@@ 我在Nano寫了一個for迴圈, for(i=0 ;i<100;i++) delay(1000) 但是UNO的那一端顯示的數字不對,也沒有依照我的delay在跑(程式是正常執行後就直接複製過去!) 但是Nano 對 Nano可以正常顯示 ,能幫我解惑嗎? |
0~100 只需要一個 byte 接收 SoftwareSerial mSerial(10, 11); mSerial.begin(9600); ..... if(mSerial.available()) { byte c = mSerial.Read(); } 傳送 SoftwareSerial mSerial(10, 11); ..... mSerial.begin(9600); ..... byte data = 88; mSerial.write(data); 亂寫的, 有錯自行更正 |
超新手 發表於 2017-5-2 14:54 序列傳輸是一個字一個字進來 0~100的變動要怎麼弄? |
不就是用 SoftwareSerial google 一下就有了 |
本帖最後由 ates1687 於 2017-5-2 14:44 編輯 超新手 發表於 2017-5-2 14:38 我測試過了,如果加 IIC去讀的話,我的TFT無法顯示,數值無法正常去顯示出來...TAT... =.=我的數值就只有0~100之間,但是要怎麼傳到另外一個arduino身上還在想 因為我的TFT 讀值>畫圖>顯示 這樣循環,光是畫圖就跑很久.... |
本帖最後由 超新手 於 2017-5-2 14:39 編輯 UART 比較快, IIC 還要START/STOP/位址/ACK SoftwareSerial 用軟體方法模擬SERIAL, 下載後直接用即可 用法和 Serial 相同 |
超新手 發表於 2017-5-2 06:39 我的程式大到光讀一個類比值就很慢去顯示出來,我是不知ˋ到如果用IIC會不會比較快?! 當然我有想過不然就用DUE,但是怕體積太過於龐大! |
本帖最後由 超新手 於 2017-5-2 08:03 編輯 1. 很好奇 你是怎麼把值變成類比值的? 很多arduino根本不支援 DAC 而且轉換過程會有雜訊,你確定可以接受這誤差? 另外, analogWrite 不等於 analogRead analogWrite 是 PWM, analogRead 是 ADC 2.其實你可以用 SoftwareSerial |
小黑屋|手機版|Archiver|機器人論壇 from 2005.07
GMT+8, 2024-11-23 20:02 , Processed in 0.110200 second(s), 10 queries , Apc On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.