吐血整理单片机串口小招数 例子很酷!

2014-10-30 09:43 来源:电子信息网 作者:娣雾儿

招一:把函数发生器当串口发送器来用

如果要调试串口,而你只有一块扳没有计算机,这种情况下,可以用函数发生器当串口发送器来用。若波特率是9600,需将函数发生器频率调到9600/2=4800HZ上,输出的TTL电平直接到RXD;如果使用的是RS232接口,频率不变的话就选函数双极性(交流输出)发生器。在这里提醒一下,电平有峰峰值到12VPP就够了。此时单片机收到数据必须是55H,可以用MOV P1、SBUF、在P1上测量电压,没显示也可以测串口了。

理由:55H 是01010101 串口启始位是0,先发55H最低位,于是一帧就是0(启始)101010101(停止)-0(启始)101010101(停止),正好是1/2波特率的方波。

招二:如果串口要实现远距离传输,怎么知道传输的可靠性和信号与传输媒介的适配性呢?

可以发送00H 0FFH 55H,如果这三个值都能正确接受,那网络一定能可靠传输了,这就是以点代面的测试方法。

理由:00H 0FFH是最宽的脉冲和电平(代表能量)最大/最小的脉冲,用信号系统话说他们代表是直流,而55H是最窄脉冲,它代表是最高频和能量中间值。既然最低的能过,最大也能过,最宽能过最窄也能过,大能量(抗干扰强)低能量(代表抗干扰弱)中能量也能过,那么完全不用担心中间值过不了。

招三:用同步头初始实现波特率自适应和判断数据包起始

同步头用谁?——7FH,且开始同步时连续发送。看7FH的发送0起始11111110---1停止。011111110是相当对称的,当你收到两个0中间夹了连续个1的数据后,只要用连续1的时间除以0的持续时间=7,说明这就是同步头了,且一个标准码元持续时间就是码元0的持续时间,其波特率=1/(0码元持续时间)。

1 2 > 
单片机 串口

相关阅读

暂无数据

一周热门