STM32的外部中断问题
1.EXTI0~EXTI15对应引脚是一一对应的还是通道自己设的?怎么知道哪个引脚是哪个通道?2.外部中断处理函数一般都有:voidEXTI_Configuration(...
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; //外部设备中断恢复默认参数
两句是什么意思??
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了??
能不能解释下, 答了再加分 展开
展开全部
问题1,EXTI0~EXTI15每个对应于一组(PA,PB,PC,PD..)1,在用外部中断的时候如用EXTI4(外部中断4)需要配置PA4还是PB4...这几组io口的第四个管脚作为输入,只能选择一个。
问题2,void EXTI_Configuration(void) 中断初始化函数
EXTI_InitTypeDef EXTI_InitStructure; 定义EXTI_InitStructure为中断配置的结构体,然后对结构体内容进行配置之后初始化外部中断。
问题3,你要用什么加什么外设,外设的函数库都是以头文件的格式加入(.h)文件,编译的时候编译器搜索加入的头文件包含的内容,有就编译没有用到的不编译进去,你说的情况之后再加入主函数里面多余的子函数才报错。
有问题可以补充。
不是SDK吧 应该是MDK
问题2,void EXTI_Configuration(void) 中断初始化函数
EXTI_InitTypeDef EXTI_InitStructure; 定义EXTI_InitStructure为中断配置的结构体,然后对结构体内容进行配置之后初始化外部中断。
问题3,你要用什么加什么外设,外设的函数库都是以头文件的格式加入(.h)文件,编译的时候编译器搜索加入的头文件包含的内容,有就编译没有用到的不编译进去,你说的情况之后再加入主函数里面多余的子函数才报错。
有问题可以补充。
不是SDK吧 应该是MDK
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |