您现在所在的是:

串口通信

回帖:1个,阅读:938 [上一页] [1] [下一页]
947
sw660327
文章数:7
年度积分:50
历史总积分:947
注册时间:2007/8/17
发站内信
发表于:2007/11/22 16:37:00
#0楼
使用华荣汇带前向纠错的RF Modem,可以采用简单的监听_避让的方法来解决无线多机随机发送冲突的问题,大致思路(以WAP200B在无线表决的应用为例)如下:
       ;无线接收串口中断服务程序
       UARTRF: JB      RI,UARTRCV
               CLR     TI
               RETI
       UARTRCV:LCALL   RXPRO           ;接收数据处理
               LCALL   RANDOM          ;每接收到一个字节的数据,就调用一次随机延时程序
               RETI

       ;1mS的定时器中断服务程序
       T1MSINT:PUSH    ACC
               PUSH    PSW
               CLR     TF0
               DJNZ    TX_DELAY,T1MSINTE
               MOV     A,TX_NUM
               JZ      T1MSINT1        ;没有数据发送就结束
               LCALL   TXRF            ;发送数据
       T1MSINT1:LCALL  RANDOM          
       T1MSINTE:POP    PSW
               POP     ACC
               RETI              

;计算延时,每包传送数据为64字节(无线传输时间32mS)
       RANDOM: PUSH    DPH
               PUSH    DPL
  RANDOM1:MOV A,TX_DELAY
     CLR C
     SUBB A,#80           ;如果后续延时已经超过80ms(根据发送数据包的大小来确定),就不再延时
     JNC RANDOME
 INC     RAND_P
               MOV     A,RAND_P
               ADD     A,SYSID ;S_ID,设备ID
               ANL     A,#0FH
               MOV     RAND_P,A
               MOV     DPTR,#RAND_TAB ;查随机数表
               MOVC    A,@A+DPTR
      ADD A,TX_DELAY  
               MOV     TX_DELAY,A
               CLR     C
               SUBB    A,#40           ;如果调整后的延时时间小于40ms(取决于系统中数据包的大小),继续调整
               JC      RANDOM1  
RANDOME:   POP     DPL
               POP     DPH
               RET
需要更详细的资料,请发mail给我:smartrf@263.net







[此贴子已经被作者于2008-1-2 9:11:47编辑过]
611
bjmonsoon
文章数:1
年度积分:-310
历史总积分:611
注册时间:2007/4/20
发站内信
发表于:2007/11/28 10:49:00
#1楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003