Re: [問題] 比較不易受干擾的平價RF module

看板ASM (組合語言)作者 (我愛ASM)時間7年前 (2016/12/20 00:31), 7年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/5 (看更多)
因為對象是linux跟arduino..... : UART的問題是比較慢(我指把接收到的訊號傳輸給cpu) : 根據規格好像是115200bps? : 對,uart是比較慢,不過發送資料不用等待全部資料都送出才往下執行程式。 : 那如果我傳送個4 bytes的資料至少需要278us : 如果buffer裏面還有東西沒傳完搞不好加倍。 : linux是寫到傳送緩衝區,沒記錯buffer size是4k,你也可以修改更大的值 Arduino是64bytes,所以發送函式將資料寫到緩衝區就射後不理,除非它滿了。 : spi的話RPI可以支援8Mb/s(似乎更多),我傳4 bytes大概才4us : 你要考慮的是RF模組的buffer,因為無線電頻寬才是決定資料能傳多快。 uart多,除了介面簡單,就是無線頻寬不高,uart足以應付。 : 如果還有real time的要求+CPU的load很緊的時候這就差很多了.... : 我一個控制週期4ms,I2C就佔掉1ms左右, : 如果用在無線傳輸的時間太久我得花更多心力去處理超時問題.... linux很難做real time,real time至少要保證回應時間,好歹用thread解決這問題。 要不就把xenomai移植進來。 -- 不要問我從哪來,我只是一個浪跡天涯的工程師.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.232.57.227 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1482165071.A.FA6.html

12/20 12:27, , 1F
Arduino的預設buffer size是64Byte喔
12/20 12:27, 1F

12/20 12:27, , 2F
而且不是射後不理,是靠中斷一個byte一個byte丟(沒硬體FIFO
12/20 12:27, 2F
buffer size誤植已修正。 射後不理看你用什麼角度看,基本上主程式就是射後不理,中斷的部份 已經不需要使用者care。care那個就別用arduino。 ※ 編輯: MasterChang (118.232.57.227), 12/20/2016 22:01:47
文章代碼(AID): #1OM0jF-c (ASM)
文章代碼(AID): #1OM0jF-c (ASM)