野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10335|回复: 4

STM32库头文件的作用

[复制链接]
发表于 2015-12-26 16:26:26 | 显示全部楼层 |阅读模式
本帖最后由 13688063643 于 2015-12-26 16:28 编辑

1.请问STM32库函数的头文件stm32f10x_it.h的作用,我看到里面有对这几个函数的声明,有啥作用了?
79[%V]{)QHGLMUUSMJSX{90.png

2.还有中断服务函数是不是可以不用声明的啊?希望大大们讲解一下,虾虾啦


回复

使用道具 举报

发表于 2015-12-26 17:02:55 | 显示全部楼层
http://www.firebbs.cn/thread-10568-1-1.html
先看这个文档的第14章内容,如果还不懂再来跟你解释
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-27 21:39:15 | 显示全部楼层
亽亼 发表于 2015-12-26 17:02
http://www.firebbs.cn/thread-10568-1-1.html
先看这个文档的第14章内容,如果还不懂再来跟你解释

谢谢你,好的我先认真看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-28 00:13:52 | 显示全部楼层
亽亼 发表于 2015-12-26 17:02
http://www.firebbs.cn/thread-10568-1-1.html
先看这个文档的第14章内容,如果还不懂再来跟你解释

我把看了之后的理解说一遍,麻烦看一下对不对,谢谢啦
1.关于中断服务函数为啥不用声明?
答:因为在启动文件中像下列的汇编语言已经对相应的中断服务函数作了声明
EXPORT  WWDG_IRQHandler            [WEAK]
                EXPORT  PVD_IRQHandler             [WEAK]
                EXPORT  TAMPER_IRQHandler          [WEAK]
                EXPORT  RTC_IRQHandler             [WEAK]
                EXPORT  FLASH_IRQHandler           [WEAK]
                EXPORT  RCC_IRQHandler             [WEAK]
                EXPORT  EXTI0_IRQHandler           [WEAK]
                EXPORT  EXTI1_IRQHandler           [WEAK]
                EXPORT  EXTI2_IRQHandler           [WEAK]
                EXPORT  EXTI3_IRQHandler           [WEAK]
                EXPORT  EXTI4_IRQHandler           [WEAK]
                EXPORT  DMA1_Channel1_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel2_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel3_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel4_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel5_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel6_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel7_IRQHandler   [WEAK]
                EXPORT  ADC1_2_IRQHandler          [WEAK]
                EXPORT  USB_HP_CAN1_TX_IRQHandler  [WEAK]
                EXPORT  USB_LP_CAN1_RX0_IRQHandler [WEAK]
                EXPORT  CAN1_RX1_IRQHandler        [WEAK]
                EXPORT  CAN1_SCE_IRQHandler        [WEAK]
                EXPORT  EXTI9_5_IRQHandler         [WEAK]
                EXPORT  TIM1_BRK_IRQHandler        [WEAK]
                EXPORT  TIM1_UP_IRQHandler         [WEAK]
                EXPORT  TIM1_TRG_COM_IRQHandler    [WEAK]
2.关于stm3210x.h中为啥要声明类似 void NMI_Handler(void)这种函数?
因为在启动文件中有下列汇编文件
NMI_Handler     PROC
                EXPORT  NMI_Handler                [WEAK]
                B       .
                ENDP
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler          [WEAK]
                B       .
                ENDP
MemManage_Handler\
                PROC
                EXPORT  MemManage_Handler          [WEAK]
                B       .
                ENDP
因为这些中断很重要,且是弱定义,为了保证这些函数被先引用,就算不声明也没有错误,但是不加入【WEAK】就不能在外部声明了。
大神你看我这样理解对不对啊?
回复 支持 反对

使用道具 举报

发表于 2015-12-28 08:36:45 | 显示全部楼层
这样理解可以的
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 03:51 , Processed in 0.033781 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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