怎么样设置模块的波特率 “mCmdParam.BaudRate.mDivisor = 18432000/32/9600; /* 输入参数: 通讯波特率除数,假定模块的晶体X2的频率为18.432MHz */ i = ExecCommand( CMD_BaudRate, 1 ); ” 但 我想要的是怎么样下达命令,具体格式:如 57 AB A5(临时设置串口通信波特率)………… 然后命令码后面跟的是什么~~~
谢谢~~
怎么样设置模块的波特率 “mCmdParam.BaudRate.mDivisor = 18432000/32/9600; /* 输入参数: 通讯波特率除数,假定模块的晶体X2的频率为18.432MHz */ i = ExecCommand( CMD_BaudRate, 1 ); ” 但 我想要的是怎么样下达命令,具体格式:如 57 AB A5(临时设置串口通信波特率)………… 然后命令码后面跟的是什么~~~
谢谢~~
先是同步码57,AB; 再是命令码A5; 接着是后续参数长度01; 最后是参数波特率除数。
“参数波特率除数”?能举个例子吗?例如9600的波特率~谢谢~~!
就是mCmdParam.BaudRate.mDivisor = 18432000/32/9600这个计算式,如果你模块上的晶震是18.432,你想以9600的波特率与单片机通信的话,波特率除数就是60。
怎么样知道晶震,18432000/32/9600是10进制,然后把得到的结果转化成16进制带到命令里 57 AB A5 01 3C(60)? ~~~谢谢~
你所买的模块上面不是有两个晶震吗,12MHZ的是375的晶振,另外一个是模块上单片机的晶振,一般为18.432,你可以自己看一下。 你用汇编写的话,你可以下载375HM.ZIP,里面SER_ASM文件夹是汇编串口的例子,你可以参考一下。大可不必每次都自己发57、AB、、、、,例子程序中有命令执行函数ExecCommand,你只要把参数放到定义好的缓冲区中,调用这个函数执行就行了。
呵呵。。不好意思~~可能我有些问题老是搞不懂。。。 我是用标准C写的。如果我要调用ExecCommand函数我需要怎么做,直接#include "CH375HMS.C" #include "..\CH375HM.H"??这样就可以了吗??
CH375HM.H是头文件,你必须包含进去;你可以参考我们的例子程序按自己的要求修改就行了。