搜索
12
返回列表 发新帖
楼主: pans0ul

[已解决] 问题:USART中断的两种函数有什么区别?

[复制链接]

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2018-3-29 13:40:53 | 显示全部楼层
pans0ul 发表于 2018-3-29 11:27
谢谢,     请问一下HAL_UART_TxCpltCallback 这个函数如果写在  IRQHander函数外面,当发送信息的时候, ...

肯定是在USART_IRQHandler里面调用了这个函数,才会执行。。。不调用执行个毛线。。。HAL_UART_TxCpltCallback就是个普通的函数。。。只是HAL库为了统一API才提供的一个接口而已。。。当然了也是为了彻底分开底层和上层。。。
回复 支持 反对

使用道具 举报

该用户从未签到

29

主题

322

帖子

15

蝴蝶豆

论坛元老

最后登录
2021-4-23
发表于 2018-3-29 13:50:42 | 显示全部楼层
Callback函数是留给客户的接口,可以自己写,另外一个就不需要自己改动了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

79

帖子

85

蝴蝶豆

高级会员

最后登录
2018-10-19
发表于 2018-3-29 14:06:08 | 显示全部楼层
除非有很特殊的控制,一般不需要在USART_IRQHandle函数中写代码。
直接在其他代码文件中重定义一个HAL_UART_TxCpltCallback函数来实现中断处理就可以了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 1 反对 0

使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2018-3-29 20:21:05 | 显示全部楼层
    USART_IRQHandler是中断服务函数,对应中断向量的跳转执行入口;
    HAL_UART_TxCpltCallback是发送回调函数,回调函数是中断服务程序的实现。也就是在USART_IRQHandler中调用HAL_UART_TxCpltCallback,当然也可以调用别的函数,比如中断收等。回调函数只是为了方便跨平台移植,脱离硬件操作。就像在操作系统移植中需要对应器件在相应系统下的BSP包一样,BSP把低层驱动活干了,操作系统中调用接口就可以了。

    可以没有回调函数,但不能没有中断服务函数。直接在中断服务函数中处理中断事件,相当于裸跑的话,那么在中断服务函数中调用一条中断回调函数,就相当于在操作系统下处理中断事件,操作系统并不关心中断具体是怎么处理的,只关心能不是得到正确的数据和期待的结果。

    评分

    参与人数 1蝴蝶豆 +4 收起 理由
    zero99 + 4

    查看全部评分

    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 11:47
  • 签到天数: 537 天

    [LV.9]

    29

    主题

    2176

    帖子

    127

    蝴蝶豆

    论坛元老

    最后登录
    2024-4-24
    发表于 2018-3-29 20:49:35 | 显示全部楼层
    第一个是你只要打开了中断标志,串口的任何中断都会导致代码执行到此中断处理函数中,第二个则只是在发送完成后触发中断的回调函数

    评分

    参与人数 1蝴蝶豆 +2 收起 理由
    zero99 + 2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    91

    主题

    4756

    帖子

    4

    蝴蝶豆

    论坛元老

    最后登录
    2021-2-27
    发表于 2018-3-29 22:13:16 | 显示全部楼层
    区别不大,第一个是串口的中断服务函数,第二个是串口发送中断函数

    评分

    参与人数 1蝴蝶豆 +2 收起 理由
    zero99 + 2

    查看全部评分

    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-5-8 12:57 , Processed in 0.159837 second(s), 33 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表