Re: [问题] 比较不易受干扰的平价RF module

楼主: MasterChang (我爱ASM)   2016-12-20 00:31:07
因为对象是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移植进来。
作者: cs8425 (cs)   2016-12-20 12:27:00
Arduino的默认buffer size是64Byte喔而且不是射后不理,是靠中断一个byte一个byte丢(没硬件FIFO

Links booklink

Contact Us: admin [ a t ] ucptt.com