|
原帖由 shen 于 2008-12-5 14:00 发表 ![]()
& {3 x# ~9 c! {, |# f如何理解交互控制的意思呢?9 K. M; @! B ]' y' ^; ~9 W
是需要pc编写一个控制器界面的软件的。基本上和你理解的一样。. S* f5 M+ v/ [* |0 H
如果PC发数据到设备上,不就几个步骤:
, X5 i# [2 M$ r; q0 h; u4 c1,设置波特率
, N% I" M( q% N2,打开串口' F4 A3 _2 d }' @; G
3,发送个握手信号
: Z* ]9 v5 @' u5 h$ R4,等待设备回复握手信号
2 U4 M" v5 k8 b) p8 @% ]5, ...
0 T" Z3 \* E4 k- U8 y5 F7 N恩2 d$ H6 H3 ?# w- }5 A
兄弟很强悍啊
# X2 g( {5 r/ s( B
7 C# i9 {; |2 d% Y8 ~* P3 y# R是不是可以这样理解:8 e; H/ r- R8 F! s- U/ s0 b
设置一个状态机
/ v7 M) S# y2 Y/ |: c, t上电之后首先等待pc发指令确认波特率(这个状态下只识别指定的数据01010101)由此检测确定分频因子
4 W5 i& y4 ]. u1 E3 p) D波特率设置初始化结束跳转状态到等待状态
# y" V5 q6 a! H$ y2 Y这个时候按照约定 也是只能接受指定指令(例如接受来自pc的数据指令 )
/ Z% n( U/ r/ Q% j& Upc发命令说我要给你传数据了 你准备好没有$ a. K. P, L5 Y( M* X# D& `
控制器在识别到这个指令再应答给pc一个指令(也是约定好的指定格式数据) c) O3 @. |0 \/ ?3 d+ X
通过这个握手操作后" ~- Z) f1 G+ H' l: D: z8 ?+ ^8 z
控制器再跳转到接受数据状态下
# u, W: _3 l. F @& C开始一组一组接收来自pc发来的数据
9 n/ Q3 O' s f2 J7 L$ i
! h+ R9 C" N3 q0 X第一组数据是约定的其实数据(约定的指定格式,以让控制器指定开始传数据了)# `3 V" S7 j. w. f( g) F1 M
第二组数据是后续所传数据包的数量是多少,控制器以此控制计数器计数
7 o3 o d/ y) w6 Z1 A3 j8 e第三组正式开始接受数据
5 L; B- M" S2 G6 `; E接收完毕后 计数器满足之前设定的数量后等待pc会再发一个指定结束指令
+ ?; J5 Z* n. H1 E, P然后退出接受状态
~# y+ \5 C, R2 f3 T0 Y返回正常状态
0 i5 j" R$ i1 e! ^" D$ M4 e4 o, N
/ o7 t* E) w: C, A多指点啊 |
|