|
被这个串口红外困扰了好久好久了,利用5529的串口红外功能,做红外通信。
通信(数据量多的时候)不稳定(波特率设置为57600,波特率时钟为8M),误码率有点高。起初以为是我用的红外管的问题,但是实验结果又表明并不是的。
后来在看oversampling buad rate mode的时候,计算了一下,UCBRFx = round(10.8888) = 11,把手册上的标准配置参数改动了一下,改成10,结果神奇的事情出现了,居然就能够顺利的通信了,而且误码率也基本为0.
说一下 UCA1MCTL = UCBRF_10 + UCBRS_0 + UCOS16,这里的手册上是用的UCBRF_11
但是问题又来了,当我用两个5529的串口红外通信的时候,选择相同的波特率参数配置,譬如都用UCBRF_10,结果误码率又来了。尝试了将其中一端用UCBRF_10,另一端用UCBRF_12,结果通信就是正常的了。
求解,这是为何?听说430的波特率不准???
|
|