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

[复制链接]
5846|24
 楼主| 伊泽瑞拉 发表于 2014-5-30 10:09 | 显示全部楼层 |阅读模式
我这样接收为什么不可以呢,那如果在中断中接收的话,应该怎么做,求指导

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xyz549040622 发表于 2014-5-30 10:14 | 显示全部楼层
看看你的接受函数是怎么写的了
 楼主| 伊泽瑞拉 发表于 2014-5-30 10:18 | 显示全部楼层
难道高手都去***了吗???     
ningling_21 发表于 2014-5-30 10:19 | 显示全部楼层
查询接收之前,需关闭串口中断...

happde 发表于 2014-5-30 10:23 | 显示全部楼层
串口助手发0x55 或者0XAA,再发到pc端。最好自个写个发送函数,不要用打印函数。容易出问题。
xyz549040622 发表于 2014-5-30 10:30 | 显示全部楼层
我觉得他的思路就有问题,你问下他串口接收的流程
 楼主| 伊泽瑞拉 发表于 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);
}
 楼主| 伊泽瑞拉 发表于 2014-5-30 10:34 | 显示全部楼层
ningling_21 发表于 2014-5-30 10:19
查询接收之前,需关闭串口中断...

额    我没有用中断      本来单个字符的话接收发送正常    然后改成这个样子打算接收字符串    结果程序跑飞了
 楼主| 伊泽瑞拉 发表于 2014-5-30 10:37 | 显示全部楼层
happde 发表于 2014-5-30 10:23
串口助手发0x55 或者0XAA,再发到pc端。最好自个写个发送函数,不要用打印函数。容易出问题。 ...

程序直接就死在上面接收的那个while里面了   有点想不通
 楼主| 伊泽瑞拉 发表于 2014-5-30 10:38 | 显示全部楼层
xyz549040622 发表于 2014-5-30 10:30
我觉得他的思路就有问题,你问下他串口接收的流程

跪求前辈指教
xyz549040622 发表于 2014-5-30 11:25 | 显示全部楼层
伊泽瑞拉 发表于 2014-5-30 10:38
跪求前辈指教

总觉得你的程序怪怪的,但又说不出什么来
ningling_21 发表于 2014-5-30 11:31 | 显示全部楼层
伊泽瑞拉 发表于 2014-5-30 10:34
额    我没有用中断      本来单个字符的话接收发送正常    然后改成这个样子打算接收字符串    结果程序 ...

把程序简化,再增加,看看那条语句引起跑飞了...
 楼主| 伊泽瑞拉 发表于 2014-5-30 11:50 | 显示全部楼层
xyz549040622 发表于 2014-5-30 11:25
总觉得你的程序怪怪的,但又说不出什么来

版主大哥qq多少?   
 楼主| 伊泽瑞拉 发表于 2014-5-30 11:51 | 显示全部楼层
ningling_21 发表于 2014-5-30 11:31
把程序简化,再增加,看看那条语句引起跑飞了...

前辈qq多少   跪求指导  
xjjspace 发表于 2014-5-30 12:54 | 显示全部楼层
先别想在中断里怎么做,在MAIN函数里肯定可以做的,好好顺一遍。写个发送程序,用串口助手回显一下,看看到底收到什么了。
 楼主| 伊泽瑞拉 发表于 2014-5-30 14:01 | 显示全部楼层
xjjspace 发表于 2014-5-30 12:54
先别想在中断里怎么做,在MAIN函数里肯定可以做的,好好顺一遍。写个发送程序,用串口助手回显一下,看看到 ...

什么都没有收到    很纳闷    程序会直接死在那个接收的while里面
 楼主| 伊泽瑞拉 发表于 2014-5-30 15:59 | 显示全部楼层
xjjspace 发表于 2014-5-30 12:54
先别想在中断里怎么做,在MAIN函数里肯定可以做的,好好顺一遍。写个发送程序,用串口助手回显一下,看看到 ...

现在每次中断只能接收到一个字符   但我想要接收的是字符串     这么应该怎么弄?
梦想OK 发表于 2014-5-30 16:14 | 显示全部楼层
xyz549040622 发表于 2014-5-30 11:25
总觉得你的程序怪怪的,但又说不出什么来

同感
 楼主| 伊泽瑞拉 发表于 2014-5-30 18:05 | 显示全部楼层
ningling_21 发表于 2014-5-30 11:31
把程序简化,再增加,看看那条语句引起跑飞了...

谢谢大家了    这块最后接收用的中断    然后再接收和发送那块加了点延时        数据没有丢失    效果很好     嘿嘿
 楼主| 伊泽瑞拉 发表于 2014-5-30 18:09 | 显示全部楼层
xyz549040622 发表于 2014-5-30 10:14
看看你的接受函数是怎么写的了

问题解决了   谢谢大家了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

227

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部