[STM32F1] 回调函数是每次中断都进去一次?

[复制链接]
2164|19
 楼主| medety 发表于 2023-10-12 17:32 | 显示全部楼层 |阅读模式
1.    比如串口的接收或者发送的回调函数,是不是每发一个字节,或者说每接收一次字节,都进去回调一次?

2.     中断的目的就是为了执行回调函数里面的内容,我这个说法对么》?
elephant00 发表于 2023-10-13 12:02 | 显示全部楼层
是的,回调函数是每次中断都会进去一次。在串口通信中,当单片机每完成接收一个字符,就会进入一次中断处理函数。在中断处理函数中,会调用函数HAL_UART_IRQHandler(UART_HandleTypeDef *huart),该函数间接调用回调函数
 楼主| medety 发表于 2023-10-13 13:55 | 显示全部楼层
elephant00 发表于 2023-10-13 12:02
是的,回调函数是每次中断都会进去一次。在串口通信中,当单片机每完成接收一个字符,就会进入一次中断处理 ...

那这样回调频率不是很高了?
elephant00 发表于 2023-10-13 16:47 | 显示全部楼层
medety 发表于 2023-10-13 13:55
那这样回调频率不是很高了?

如果你担心回调频率过高会对系统性能产生负面影响,可以考虑以下几个方面:

1.中断处理程序的优化:尽可能减少中断处理程序中的操作,将复杂的逻辑判断或耗时的操作移到外部的回调函数中,减少中断处理的时间,降低回调的频率。
2.回调函数的实现:在实现回调函数时,要注意函数的性能和效率。避免在回调函数中执行过于耗时的操作,减少对系统资源的占用。
3.任务的调度:可以考虑使用任务调度或工作队列等技术,将回调函数挂接到相应的任务或队列中,以避免频繁地调用回调函数,降低回调的频率。
 楼主| medety 发表于 2023-10-15 18:21 | 显示全部楼层
elephant00 发表于 2023-10-13 16:47
如果你担心回调频率过高会对系统性能产生负面影响,可以考虑以下几个方面:

1.中断处理程序的优化:尽可 ...

好,谢谢指点。
夜阑风雨 发表于 2023-11-21 23:47 | 显示全部楼层
符合条件就会进入到中断的啊
三生万物 发表于 2023-11-22 02:00 | 显示全部楼层
这个好像是这样的
江河千里 发表于 2023-11-22 04:00 | 显示全部楼层
也不一定,串口发数据有的是按字符串的方式发送的
冰春彩落下 发表于 2023-11-22 06:00 | 显示全部楼层
你可以看看中断函数里面的嘛,这样会知道怎么回事儿了
暖了夏天蓝了海 发表于 2023-11-22 08:00 | 显示全部楼层
中断的目的是快速响应中断里的任务
一秒落纱 发表于 2023-11-22 10:00 | 显示全部楼层
主要是单片机相当于按部就班的操作,但是中断就相当于打破了这个规则
淡漠安然 发表于 2023-11-22 12:00 | 显示全部楼层
中断确实是为了执行回调函数里面的内容
别乱了阵脚 发表于 2023-11-22 14:00 | 显示全部楼层
对啊,每次想要用到中断里面的函数,都要进到中断一下的
光辉梦境 发表于 2023-11-22 16:00 | 显示全部楼层
这个看你程序逻辑怎么写的,有很多回调函数也不一定在中断里执行的
远山寻你 发表于 2023-11-22 20:00 | 显示全部楼层
中断当然要执行内容了,但是是不是回调函数的,得看你是咋写的
guijial511 发表于 2023-11-23 08:07 来自手机 | 显示全部楼层
回调函数和中断没有必然联系。
wziyi 发表于 2023-11-23 17:46 | 显示全部楼层
不一定,同一个中断可以选择好几种回调函数,看你怎么配置。
EmmaTT 发表于 2024-4-8 14:19 来自手机 | 显示全部楼层
中断里要执行什么操作啊
Uriah 发表于 2024-7-16 07:31 | 显示全部楼层

钳位二极管最常用于集成电路中
帛灿灿 发表于 2024-7-16 09:27 | 显示全部楼层

它迅速由高阻态变为低阻态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

120

帖子

0

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