关于modbus和汇编程序架构

[复制链接]
3123|4
 楼主| riki2006 发表于 2009-8-17 16:17 | 显示全部楼层 |阅读模式
本帖最后由 riki2006 于 2009-8-17 16:21 编辑

最近想用modbus做通讯 网上down了一下都是c语言的,不知道汇编怎么写 :$
另外汇编程序架构怎么的最好, 望指教
chunyang 发表于 2009-8-17 16:28 | 显示全部楼层
关键是理解协议思想和结构,只要掌握了这一点,跟用什么编程语言实现完全无关,串口通讯而已。任何程序架构讲究“结构化”,不要平铺直叙,每个功能单独使用“结构”、“模块”、“函数”、“子程序”等实现,系统平时在一个很简单的主程序框架下运行,需要执行什么功能就进行相关调用即可,这一点,编程和管理是基本相同的,只是表现形式不同而已。
 楼主| riki2006 发表于 2009-8-17 22:32 | 显示全部楼层
谢谢ls
 楼主| riki2006 发表于 2009-8-18 23:14 | 显示全部楼层
ls说得很好,听你的话,静下心来先试试
5880527 发表于 2009-8-19 11:27 | 显示全部楼层
;CRC校验,待校验的数据放于R1开始的地址,字节数R4
;占用R1~5
CRC:         MOV         CRC16H,#0FFH         ;①CRC寄存器初始化
        MOV         CRC16L,#0FFH
CRP1:          MOV         R5,#008H    ;右移位8次
        MOV         A,@R1
             XRL         A,CRC16H                ;②高字节与开始8位字节进行与或运算
        MOV         CRC16H,A
CRP2:          MOV         A,CRC16L
        CLR         C
        RRC         A                        ;③把16位值向右移一位
        MOV         CRC16L,A
        MOV         A,CRC16H
        RRC         A
        MOV         CRC16H,A
        JNC         CRP3         ;④判断被移出的最低位是‘0’还是‘1’
        XRL         CRC16L,#0A0H         ;被移出的最低位为‘1’时CRC16寄存器与多项式#0A001H相异或
        XRL         CRC16H,#001H
CRP3:          DJNZ         R5,CRP2                ;⑤
        INC         R1                        ;⑥
        DJNZ         R4,CRP1                ;⑦
        RET
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

50

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部