打印
[STM32]

有关USART接收字符串的问题,求高手指导

[复制链接]
4751|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
xyz549040622| | 2014-5-30 10:14 | 只看该作者
看看你的接受函数是怎么写的了

使用特权

评论回复
板凳
伊泽瑞拉|  楼主 | 2014-5-30 10:18 | 只看该作者
难道高手都去***了吗???     

使用特权

评论回复
地板
ningling_21| | 2014-5-30 10:19 | 只看该作者
查询接收之前,需关闭串口中断...

使用特权

评论回复
5
happde| | 2014-5-30 10:23 | 只看该作者
串口助手发0x55 或者0XAA,再发到pc端。最好自个写个发送函数,不要用打印函数。容易出问题。

使用特权

评论回复
6
xyz549040622| | 2014-5-30 10:30 | 只看该作者
我觉得他的思路就有问题,你问下他串口接收的流程

使用特权

评论回复
7
伊泽瑞拉|  楼主 | 2014-5-30 10:33 | 只看该作者
xyz549040622 发表于 2014-5-30 10:30
我觉得他的思路就有问题,你问下他串口接收的流程

uint16_t USART_ReceiveData(USART_TypeDef* USARTx)
{
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  
  /* Receive Data */
  return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);
}

使用特权

评论回复
8
伊泽瑞拉|  楼主 | 2014-5-30 10:34 | 只看该作者
ningling_21 发表于 2014-5-30 10:19
查询接收之前,需关闭串口中断...

额    我没有用中断      本来单个字符的话接收发送正常    然后改成这个样子打算接收字符串    结果程序跑飞了

使用特权

评论回复
9
伊泽瑞拉|  楼主 | 2014-5-30 10:37 | 只看该作者
happde 发表于 2014-5-30 10:23
串口助手发0x55 或者0XAA,再发到pc端。最好自个写个发送函数,不要用打印函数。容易出问题。 ...

程序直接就死在上面接收的那个while里面了   有点想不通

使用特权

评论回复
10
伊泽瑞拉|  楼主 | 2014-5-30 10:38 | 只看该作者
xyz549040622 发表于 2014-5-30 10:30
我觉得他的思路就有问题,你问下他串口接收的流程

跪求前辈指教

使用特权

评论回复
11
xyz549040622| | 2014-5-30 11:25 | 只看该作者
伊泽瑞拉 发表于 2014-5-30 10:38
跪求前辈指教

总觉得你的程序怪怪的,但又说不出什么来

使用特权

评论回复
12
ningling_21| | 2014-5-30 11:31 | 只看该作者
伊泽瑞拉 发表于 2014-5-30 10:34
额    我没有用中断      本来单个字符的话接收发送正常    然后改成这个样子打算接收字符串    结果程序 ...

把程序简化,再增加,看看那条语句引起跑飞了...

使用特权

评论回复
13
伊泽瑞拉|  楼主 | 2014-5-30 11:50 | 只看该作者
xyz549040622 发表于 2014-5-30 11:25
总觉得你的程序怪怪的,但又说不出什么来

版主大哥qq多少?   

使用特权

评论回复
14
伊泽瑞拉|  楼主 | 2014-5-30 11:51 | 只看该作者
ningling_21 发表于 2014-5-30 11:31
把程序简化,再增加,看看那条语句引起跑飞了...

前辈qq多少   跪求指导  

使用特权

评论回复
15
xjjspace| | 2014-5-30 12:54 | 只看该作者
先别想在中断里怎么做,在MAIN函数里肯定可以做的,好好顺一遍。写个发送程序,用串口助手回显一下,看看到底收到什么了。

使用特权

评论回复
16
伊泽瑞拉|  楼主 | 2014-5-30 14:01 | 只看该作者
xjjspace 发表于 2014-5-30 12:54
先别想在中断里怎么做,在MAIN函数里肯定可以做的,好好顺一遍。写个发送程序,用串口助手回显一下,看看到 ...

什么都没有收到    很纳闷    程序会直接死在那个接收的while里面

使用特权

评论回复
17
伊泽瑞拉|  楼主 | 2014-5-30 15:59 | 只看该作者
xjjspace 发表于 2014-5-30 12:54
先别想在中断里怎么做,在MAIN函数里肯定可以做的,好好顺一遍。写个发送程序,用串口助手回显一下,看看到 ...

现在每次中断只能接收到一个字符   但我想要接收的是字符串     这么应该怎么弄?

使用特权

评论回复
18
梦想OK| | 2014-5-30 16:14 | 只看该作者
xyz549040622 发表于 2014-5-30 11:25
总觉得你的程序怪怪的,但又说不出什么来

同感

使用特权

评论回复
19
伊泽瑞拉|  楼主 | 2014-5-30 18:05 | 只看该作者
ningling_21 发表于 2014-5-30 11:31
把程序简化,再增加,看看那条语句引起跑飞了...

谢谢大家了    这块最后接收用的中断    然后再接收和发送那块加了点延时        数据没有丢失    效果很好     嘿嘿

使用特权

评论回复
20
伊泽瑞拉|  楼主 | 2014-5-30 18:09 | 只看该作者
xyz549040622 发表于 2014-5-30 10:14
看看你的接受函数是怎么写的了

问题解决了   谢谢大家了

使用特权

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

本版积分规则

28

主题

227

帖子

0

粉丝