为什么我的STM32 进入停止模式,外部中断没有响应
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的STM32 进入停止模式,外部中断没有响应相关的知识,希望对你有一定的参考价值。
参考技术A stm的四种不同模式:run,stop,sleep,standby是可以设置的,如果没有设置不会进入的停止模式。可以参考所选的IC的datasheet! 参考技术B 我的也是,功耗比stop模式前少了10mA左右,但是外部中断及RTC闹钟中断都进不去,同问???补充:RTC闹钟中断已经设置了EXTI17。STM32的外部中断问题
1.EXTI0~EXTI15对应引脚是一一对应的还是通道自己设的?怎么知道哪个引脚是哪个通道?
2.外部中断处理函数一般都有:
void EXTI_Configuration(void)
EXTI_InitTypeDef EXTI_InitStructure; //外部设备中断恢复默认参数
两句是什么意思??
3. 如果我的主程序调用了几个函数库,如:stm32f10x_exti、stm32f10x_gpio、stm32f10x_nvic,
那么我的主函数里用不到库里的所有函数,有的子函数就定义了没有被调用,在C语言单片机里不是说如果定义了没有调用函数会导致编译器错误吗?? 那在SDK里编译器是怎么处理未调用的函数的??
4.MDK中STM32固件库中为什么定义寄存器结构typedef struct GPIO_typedef ,然后用指针GPI0_X->ODR,
这样就能设置I/O输出了?我在MDK里没有找到ODR的地址定义啊?而且每个端口的ODR应该是不同的,为什么通过GPI0_X->ODR就能访问相应的ODR了??
能不能解释下, 答了再加分
问题2,void EXTI_Configuration(void) 中断初始化函数
EXTI_InitTypeDef EXTI_InitStructure; 定义EXTI_InitStructure为中断配置的结构体,然后对结构体内容进行配置之后初始化外部中断。
问题3,你要用什么加什么外设,外设的函数库都是以头文件的格式加入(.h)文件,编译的时候编译器搜索加入的头文件包含的内容,有就编译没有用到的不编译进去,你说的情况之后再加入主函数里面多余的子函数才报错。
有问题可以补充。
不是SDK吧 应该是MDK本回答被提问者采纳
以上是关于为什么我的STM32 进入停止模式,外部中断没有响应的主要内容,如果未能解决你的问题,请参考以下文章