sky_lihongyu
驱动牛犊
驱动牛犊
  • 注册日期2007-07-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
阅读:2361回复:3

UART口问题

楼主#
更多 发布于:2007-10-15 11:41
  我使用c8051F020单片机的uart0口和ARM进行通信,正常情况下数据正确,但有时在数据的第三个位置出现00,例如我想发送ee 01 01 01 ee,但是在ARM这边收到的却是ee 01 00 01 01 ee,这种情况会在单片机加电时出现,如果出现此错误会一直在第三个字节上出现00,但是其他数据都正确。这时必须要复位51单片机才行。 如果加电时没有出现就一直不会出现,51采用18.432M晶振,UART0口配置为115200,8,N,1。
  急请高手指教!
sky_lihongyu
驱动牛犊
驱动牛犊
  • 注册日期2007-07-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-10-16 10:06
大家帮忙吧,我快疯了,现在从现象上分析是软件问题,我发送完成后清除发送缓存区,把那个缓存区清什么,要是出错的话就出什么。
sbuf0 =  uart0txbuf ;
uart0txbuf[i++] = 0;
sky_lihongyu
驱动牛犊
驱动牛犊
  • 注册日期2007-07-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-10-16 10:08
sbuf0 = uart0txbuf



uart0txbuf数组下标是i
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-21 19:30
通信部分的完整代码放上来才好看你的错误所在
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
游客

返回顶部