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

求助!HAL库函数 串口中断接收!急急急!加入悬赏  

[复制链接]
magnbudie 提问时间:2015-1-16 10:32 /
阅读主题, 点击返回1楼
收藏 2 评论40 发布时间:2015-1-16 10:32
40个回答
...aaa 回答时间:2015-11-16 20:33:05
发送的频率可能过快乐
magnbudie 回答时间:2016-1-19 16:23:10
...aaa 发表于 2015-11-16 20:33
发送的频率可能过快乐

我算了下,100us,不是发送频率的问题
yyblike-263448 回答时间:2016-1-26 14:37:33
本帖最后由 yyblike-263448 于 2016-1-26 14:48 编辑
magnbudie 发表于 2016-1-19 16:23
我算了下,100us,不是发送频率的问题

你确定是100us不是100ms?串口9600波特率差不多1ms一个数据。你说的串口中断臃肿,采用DMA方式正常我觉得不像,你可以把MCU的频率调到最高,串口的速率没有那么快,不可能处理不完那些东西。
0721de 回答时间:2016-5-9 14:30:29
本帖最后由 0721de 于 2016-5-9 15:08 编辑

uint8_t uart_receive[3]={0};
int main(void)
{

  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM1_Init();
  MX_USART2_UART_Init();

  /* USER CODE BEGIN 2 */
        HAL_UART_Receive_IT(&huart2,uart_receive, uart_len);//只这一句开接收中断,
                                                                                      //数组指针uart_receive
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */
  }
}

stm32f4xx_it.c中
void USART2_IRQHandler(void)
{
  HAL_UART_IRQHandler(&huart2);//只这两句就行
HAL_UART_Receive_IT(&huart2,uart_receive, 1);
}

实验表明,我上位机发1字节数据,就会进一次中断,虽然开接收中断函数里是一个数组指针,但HAL进中断是接一字节便进一次中断。
any012 回答时间:2016-11-24 10:48:32
0721de 发表于 2016-5-9 14:30
uint8_t uart_receive[3]={0};
int main(void)
{

为何是将HAL_UART_Receive_IT((&huart2,uart_receive, 1)函数放在了void USART2_IRQHandler(void)里?
我试了放在回调函数里,结果执行不了。感觉是接收没有满足调用回调函数的条件。
wjandsq 回答时间:2016-12-4 10:36:48
放在一个任务里。收完数据或一秒调用一次。
zbber 回答时间:2016-12-4 14:45:39
关注,感恩无私的分享与奉献
any012 回答时间:2016-12-13 10:21:29
我也倾向于认为是串口中断太臃肿了。
现在用的是STM32F103,串口波特率是9600,如果是再回调函数里再次开启串口中断接收的话,接收一个数据,然后就串口溢出错误了。

改成DMA方式的话,不知道该怎么处理,帧长度不固定。
yhyeefocus 回答时间:2016-12-13 10:28:44
最近正在调试F042的USART,学习,看看
五哥1 回答时间:2016-12-31 02:20:39
DMA,高速率,这个很搭

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版