4个回答
展开全部
STM32其实和其它单片机一样,中断程序当然都有对应的入口地址,只不过使用C以后为了编程方便以用具体的中断函数名代替了这些地址,还有一个很重要的原因是不同公司使用Cortex-M3核心制造的片子程序入口地址并不是统一的,比如STM32有些片子好像复位时是从0x00000200进入,这样造成中断地址同样不统一,所以使用统一的中断服务程序名代替地址可以方便程序在不同片子中移植,也方便编程。
在编写工程的时候要加载一个启动源文件,其一个重要作用就是定义中断地址向量,这个文件不唯一,每种型号的片子都有其对应的启动文件,比如中STM32中容量片子对应Sartup_stm32f10x_md.s。您打开这个文件就可看到一开始 Heap_Size EQU 先定义片子启动始的程序入口,剩下的函数地址就是依次往下排列,每个都是地址加4,空的地方就是用DCD 0保留,此型号片子能使用的中断名都在里面列出了,没列出的就说明这个型号的片子不支持,也就是说你可以通过修改starup.s里面的中断名来使用自己命名的中断,但是中断的数量和种类还是这么多,这是片子硬件自身决定的。服务程序的具体内容写在stm32f10x_it.c里面,打开文件可以看到例子。
在编写工程的时候要加载一个启动源文件,其一个重要作用就是定义中断地址向量,这个文件不唯一,每种型号的片子都有其对应的启动文件,比如中STM32中容量片子对应Sartup_stm32f10x_md.s。您打开这个文件就可看到一开始 Heap_Size EQU 先定义片子启动始的程序入口,剩下的函数地址就是依次往下排列,每个都是地址加4,空的地方就是用DCD 0保留,此型号片子能使用的中断名都在里面列出了,没列出的就说明这个型号的片子不支持,也就是说你可以通过修改starup.s里面的中断名来使用自己命名的中断,但是中断的数量和种类还是这么多,这是片子硬件自身决定的。服务程序的具体内容写在stm32f10x_it.c里面,打开文件可以看到例子。
展开全部
一楼写的已经很全了,但提醒你一句,在配置GPIO口时不要忘了把相应的AFIO打开,不然复位后就进不去中断了,这跟8位的有一定区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在STM32固件库的project文件夹里面有stm32f10x_it.c文件,里面有中断函数的书写格式,一般在工程里面包含该文件的头文件,然后所有的中断服务程序都写在这个文件里面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EXTI0_IRQChannel
表示的是外部中断线EXTI0对应的中断函数。
以STM32F103VB系列为例,100pin,
一般我们通常使用的IO对应外部中断线如下:
PA0,PB0,PC0,PD0,PE0 对应的是EXTI0中断线;
以此类推
到PA15,PB15,PC15,PD15,PE15对应EXTI5中断线。
EXTI0对应的中断函数为EXTI0_IRQChannel;
EXTI1对应的中断函数为EXTI1_IRQChannel;
EXTI2对应的中断函数为EXTI2_IRQChannel;
EXTI3对应的中断函数为EXTI3_IRQChannel;
EXTI4对应的中断函数为EXTI4_IRQChannel;
EXTI5 -> EXTI9对应的中断函数为EXTI9_5_IRQHandler;
EXTI10 -> EXTI15对应的中断函数为EXTI15_10_IRQHandler;
你要是使用哪种类型的中断就初始化哪类型的中断, 然后在中断函数里写你想实现的东西,
注意中断函数的操作不易过多。
网上有很多基本的例子,如按键程序,闹钟中断, 可以去看下。
表示的是外部中断线EXTI0对应的中断函数。
以STM32F103VB系列为例,100pin,
一般我们通常使用的IO对应外部中断线如下:
PA0,PB0,PC0,PD0,PE0 对应的是EXTI0中断线;
以此类推
到PA15,PB15,PC15,PD15,PE15对应EXTI5中断线。
EXTI0对应的中断函数为EXTI0_IRQChannel;
EXTI1对应的中断函数为EXTI1_IRQChannel;
EXTI2对应的中断函数为EXTI2_IRQChannel;
EXTI3对应的中断函数为EXTI3_IRQChannel;
EXTI4对应的中断函数为EXTI4_IRQChannel;
EXTI5 -> EXTI9对应的中断函数为EXTI9_5_IRQHandler;
EXTI10 -> EXTI15对应的中断函数为EXTI15_10_IRQHandler;
你要是使用哪种类型的中断就初始化哪类型的中断, 然后在中断函数里写你想实现的东西,
注意中断函数的操作不易过多。
网上有很多基本的例子,如按键程序,闹钟中断, 可以去看下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询