zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1111回复:3

关于RS232串口的设置

楼主#
更多 发布于:2003-12-10 09:32
刚刚搞清了波特率是什么东东,又有了新的疑问:我在Keil uVision2中DEBUG,在串口设置中,只是发现有波特率的设置,没有发现有模式的设置(因为UART有四种工作模式),那位大侠知道主机侧RS232串口波特率和传送模式是怎么设置的?
谢谢!!! :cool:
没钱的日子真难过! 大哥,拉兄弟一把.
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-10 11:18
你说的设置传输模式,我想应该对应于具体的控制器而言的,而不是在KeilC51里面找 。你用的USB控制芯片我不清楚,但就51单片机来说是这样的:因为在51单片机内部提供了1个专门用于控制串口的寄存器 SCON,包括如何设置波特率,工作模式,停止位,数据位的长度等等。而在KeilC51中SCON是已经预定义了的,所以可以直接拿来用。SCON的定义如下:
|SM0|SM1|SM2|REN|TB8|RB8|TI|RI|
SM0,SM1既是串口工作方式选择位
SM2:为多机通信控制位。
REN:为允许串行接收控制位,为0,则禁止接收,为1,则允许接收
TB8: 发送数据位8。
RB8:接收数据位8
TI:发送中断标志位。在发送完数据后,应该软件清0
RI:接收中断标志位。在接收完数据后,应该软件清0
在Keil中我们可以如下设置SCON:
     SCON=0X50;串口工作于方式1
当然了,以上的都是针对51单片机的,但是我想对于你的USB控制芯片来说,应该差别不大,肯定会提供相应的寄存器的。
//////////////////////////////////////////
另外对于你说的在Debug里面为什么只有波特率的选择,而没有工作模式的选择实在是一种误解啊!Debug里面提供的波特率选择,是因为用了串口来和仿真器通讯用的,跟你自己的控制器上的串口没有任何关系,不能混淆了!
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-10 11:54
Thanks,Sir.
现在明白了,非常感激,我表达的方式只有送分了,呵呵 :D
没钱的日子真难过! 大哥,拉兄弟一把.
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-10 11:59
哈哈哈,共同进步!
游客

返回顶部