|
原帖由 shen 于 2008-12-5 14:00 发表 ![]()
# q3 b& a, r: @% i# w+ j. w如何理解交互控制的意思呢?
: ?$ L6 Y' U4 i5 u0 \是需要pc编写一个控制器界面的软件的。基本上和你理解的一样。6 G1 y( D; w3 p- G" c
如果PC发数据到设备上,不就几个步骤:! s7 R2 S- A; S; E% v6 V
1,设置波特率
# K @+ a7 ] v# G k2,打开串口
% W! U. @. R( V$ e/ T V0 |+ Q3,发送个握手信号
+ N; p C; J1 ]4,等待设备回复握手信号8 G. b( }" U" n5 @3 [# d. n* v
5, ...
2 ?! c2 K' k1 n6 q恩 V! s( g W1 A( R
兄弟很强悍啊* {7 \% F1 O7 C6 O+ y, d6 u
" Y& _. b$ h( V6 D) ], K是不是可以这样理解:
g2 ^) O( t- L g) S* ?' D' ?3 t) K( \- r设置一个状态机( y" p: Y1 L; N: U: j2 V! a
上电之后首先等待pc发指令确认波特率(这个状态下只识别指定的数据01010101)由此检测确定分频因子
+ Y1 j: O" I5 U. O波特率设置初始化结束跳转状态到等待状态% Q2 ?0 T7 Y+ @$ L" j2 c/ }
这个时候按照约定 也是只能接受指定指令(例如接受来自pc的数据指令 )
# R5 Z. G. j% i1 `! epc发命令说我要给你传数据了 你准备好没有. [! J" b& `( c" @
控制器在识别到这个指令再应答给pc一个指令(也是约定好的指定格式数据)3 h0 Q+ D% m5 w& j
通过这个握手操作后( y" [0 u/ B6 j. d) \. I
控制器再跳转到接受数据状态下$ m, v. r/ w+ b6 Y, m
开始一组一组接收来自pc发来的数据; C0 |7 \' @! V0 }: q
7 {1 P6 h. T/ g
第一组数据是约定的其实数据(约定的指定格式,以让控制器指定开始传数据了)+ ]9 C; [1 N$ G; t
第二组数据是后续所传数据包的数量是多少,控制器以此控制计数器计数6 J3 m5 b! ]& m4 V, x% }: O2 _! R
第三组正式开始接受数据
$ m* w; \* T' r+ v接收完毕后 计数器满足之前设定的数量后等待pc会再发一个指定结束指令
: y3 r9 `' ^# D v$ A% f0 a然后退出接受状态& _; |. M# U; y3 U7 p- E, n& ?5 S
返回正常状态, c7 [* N8 p& x' S
8 G- B$ r. R' ^, X) k2 {/ p& s; L. S: ~' S$ C
多指点啊 |
|