登录
首页 串口通信 串口通信
回帖 发帖
正文

主题:对RS232的使用还是有点疑惑,请各位赐教!

点击:1539 回复:2

我是这样理解的,RS232接受到一条完整的字节时,将通知CPU来取,当CPU来取走时候,是不是同时会将232的硬件缓冲区的字节已经被清除,等待下一个字节的来临?这是一个疑问!
2.我以前做过一个VB实验,开辟了一个缓冲区,这个缓冲区是什么含义?
 
  我这样理解------是不是这个缓冲区就是一片内存空间?联系上面,等硬件缓冲区的一个字节接受完后,被CPU取走,是取到哪里去?是给应用程序用了,还是被放到自己开辟的那片缓冲区里面了? 如果自己开辟的那片缓冲区数据被取走后,那缓冲区里面的数据是不是也和硬件缓冲区一样会被自动清除掉?
08-11-26 15:23

最后修改:2008-11-27 8:38:47
08-11-26 17:06
是这样的,RS232通讯有自己的硬件,有硬件的缓冲存储区并负责通知CPU通讯事件.
VB有自己管理通讯的软件,比如引用"通讯控件",这些其实是CPU或存储器来管理的.
通讯控件有输入输出缓冲(就是存储器,内存或硬盘),并对缓冲有一套管理机制.
RS232硬件来的数据,被控件接收后放到控件的缓冲区.同时控件发出通知给应用(可以是你自己编的VB程序),VB程序用控件的方法取走数据后,控件自己会把缓冲缩小或清除.
当然,你也可以不用控件,用VB自己从硬件获取数据,自己建立缓冲区(数组,变量--当然就都是存储器了)
,自己去管理缓冲区(增减,清除).
08-11-27 09:40

工控新闻

更多新闻资讯