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

求助!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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版