打印

串口接收,丢失最高位

[复制链接]
3171|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjwxj|  楼主 | 2010-7-13 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口usart1接收,丢失最高位,我用的是stm32 103,0x88 变成了0x08
请问是什么问题。用mdk3.2的库,keil环境
沙发
香水城| | 2010-7-13 10:08 | 只看该作者
估计你的配置有问题。

使用特权

评论回复
板凳
zjwxj|  楼主 | 2010-7-13 11:13 | 只看该作者
这个配置我是例子上考过来的,还有问题?  
USART_InitStructure.USART_BaudRate = speed; //19200
  USART_InitStructure.USART_WordLength = bits;//USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = parity;//USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_InitStructure.USART_Clock = USART_Clock_Disable;
  USART_InitStructure.USART_CPOL = USART_CPOL_Low;
  USART_InitStructure.USART_CPHA = USART_CPHA_2Edge;
  USART_InitStructure.USART_LastBit = USART_LastBit_Disable;

使用特权

评论回复
地板
香水城| | 2010-7-13 11:18 | 只看该作者
检查配置时要同时检查上位机的配置。  如果配置正确,就用示波器看看波形。

使用特权

评论回复
5
zjwxj|  楼主 | 2010-7-13 11:33 | 只看该作者
上位机是电脑,串口调试软件

使用特权

评论回复
6
pkat| | 2010-7-13 15:03 | 只看该作者
如果配置有问题,也不可能只是最高位有问题,楼主确定只是最高位有问题,我感觉是波特率设置的问题,但不应该是只是最高位有问题

使用特权

评论回复
7
zjwxj|  楼主 | 2010-7-13 15:06 | 只看该作者
fa fa fa 98 变成了7A 7A 7A 18

使用特权

评论回复
8
香水城| | 2010-7-13 15:57 | 只看该作者
用示波器看看就知道了。

使用特权

评论回复
9
ST_ARM| | 2010-7-13 16:16 | 只看该作者
从现象上看,肯定是PC端的配置不对。

使用特权

评论回复
10
zjwxj|  楼主 | 2010-7-13 16:30 | 只看该作者
pc端发出来是对的,我是stm32跟传感器通讯,PC和传感器通讯一切正常,用的是同一个软件(pc),手工输的数据。传感器发给stm32接收不正常,然后这个软件(pc),直接发数据给stm,发什么,回什么,回过来就不对了。发是16进制格式,回过来是字符串格式 发数据:0xfa fa fa 98 回过来是字符串7A 7A 7A 18

使用特权

评论回复
11
香水城| | 2010-7-13 16:47 | 只看该作者
pc端发出来是对的,我是stm32跟传感器通讯,PC和传感器通讯一切正常,用的是同一个软件(pc),手工输的数据。传感器发给stm32接收不正常,然后这个软件(pc),直接发数据给stm,发什么,回什么,回过来就不对了。发是16 ...
zjwxj 发表于 2010-7-13 16:30


看不懂你的操作过程,哪里出错。请用1 2 3 4,按顺序把操作过程说清楚,指出哪一步有问题。

你不把问题描述清楚,不要指望别人能给你有用的帮助。

使用特权

评论回复
12
静默| | 2010-7-13 16:49 | 只看该作者
还在纠结,肯定是配置出问题。顺便提一下,若含有奇偶校验位时,且是8位数据位,请用USART_WordLength_9b.

使用特权

评论回复
13
zjwxj|  楼主 | 2010-7-13 16:57 | 只看该作者
我查过了,问题找到了,是我程序问题,最高位被取掉了,有个莫名的and 0x7f ,我查了好几天,都是copy的问题。谢谢大家。真是不好意思。

使用特权

评论回复
14
香水城| | 2010-7-13 16:58 | 只看该作者
:curse: ;P

使用特权

评论回复
15
歪 歪| | 2010-7-13 18:05 | 只看该作者
其实可以避免这种低级错误,加快调试过程,节省时间。
用下面这个软件帮助调试就不会出现你上面说的走弯路问题。马上可以辨别出是你自己的程序错误还是单片机程序错误。

see link below:

下载地址:
http://download.cnet.com/ComTrac ... 6892.html?tag=mncol

感觉好别忘了给个review(评论),谢谢!

使用特权

评论回复
16
joing1999| | 2010-7-14 10:19 | 只看该作者
COPY会害死不少人的……

使用特权

评论回复
17
wangkj| | 2010-7-14 10:19 | 只看该作者
;P

使用特权

评论回复
18
yun_xiao| | 2010-7-16 15:56 | 只看该作者
:D

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

13

帖子

1

粉丝