你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F303RE 串口中断通信问题

[复制链接]
youyexinyu 提问时间:2015-7-13 11:41 /
阅读主题, 点击返回1楼
收藏 评论24 发布时间:2015-7-13 11:41
24个回答
废鱼 回答时间:2015-7-14 08:56:41
youyexinyu 发表于 2015-7-13 16:43
邮箱 我把代码发给你 你帮忙试一下

不是不帮你改,我这没有303的板子。。。。自己改一下,大家一块帮你分析。
星辰一方 回答时间:2015-7-14 09:02:38
楼主个人觉得你这有两个问题:
1、是没有理解中断调用的机制,USART2_IRQHandler(void)是一个句柄,个人认为不应该把串口发送放在句柄里执行,应该找到回调函数放到回调函数里进行收发(发送完成或接收完成回调函数)。
2、为什么HAL库里有串口发送函数,封装好的,你不用,你还要自己写串口发送呢?
星辰一方 回答时间:2015-7-14 09:04:43
void HW_USART_SendOneChar(USART_TypeDef* usartnum, uint8_t data)
{
  USART_SendData(usartnum, data);

   /* wait until transmission is complete */  
    while (!(USART_GetFlagStatus(usartnum, USART_FLAG_TC))) {
      ;
  }  
}
void HW_USART_SendChars(USART_TypeDef* usartnum, uint16_t len, void *buff)
{
   uint16_t i;
    uint8_t *ptr = (uint8_t *)buff;
   
   for (i = 0; i < len; i++) {
       HW_USART_SendOneChar(usartnum, ptr[i]);
  }
}
void HW_USART_SendString(USART_TypeDef* usartnum, void *buff)
{
   uint8_t *ptr = (uint8_t *)buff;
   
   while (*ptr != '\0') {
      HW_USART_SendOneChar(usartnum, *ptr++);
   }
}
uint16_t HW_USART_ReceOneChar(USART_TypeDef* usartnum)
{
   /* Wait until data to be received */
    while (!(USART_GetFlagStatus(usartnum, USART_FLAG_RXNE))) {
      ;
  }
  return USART_ReceiveData(usartnum);
}


以上这几种发送在HAL库里都有对应的函数,可以试下,使用中断方式,应该没问题的
youyexinyu 回答时间:2015-7-14 09:29:22
星辰一方 发表于 2015-7-14 09:02
楼主个人觉得你这有两个问题:
1、是没有理解中断调用的机制,USART2_IRQHandler(void)是一个句柄,个人认 ...

刚学习这芯片 能力不足啊
星辰一方 回答时间:2015-7-14 11:09:16
youyexinyu 发表于 2015-7-14 09:29
刚学习这芯片 能力不足啊

建议去掉自己写的收发函数,使用库里的试下,最好使用中断方式收发的那组
lkl0305 回答时间:2015-7-14 14:27:48
楼主用的什么库?
肽宰1 回答时间:2015-7-14 23:49:39
谢谢楼主的分享!
埃斯提爱慕 回答时间:2015-7-15 14:01:57
提示: 作者被禁止或删除 内容自动屏蔽
不撸僧 回答时间:2015-7-15 14:18:38
路过看看
youyexinyu 回答时间:2015-7-15 15:43:14
lkl0305 发表于 2015-7-14 14:27
楼主用的什么库?

f3标准库
12

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版