STM32F407ZGT6:144个引脚,112个IO。
GPIO输入模式:上拉、下拉、浮空、模拟。(与F103有区别:上拉、下拉设置在外面)
GPIO输出模式:开漏(输出强低电平、寄存器输出)、推挽(输出强高低电平、外设输出)、开漏复用、推挽复用。
IO引脚的复用和映射:
每个引脚有一个复用器,该复用器只允许一个外设的复用功能(AF)连接到对应的IO口,这样确保公用一个IO引脚的外设之间不会发生冲突,
每个复用器采用16路复用功能输入(AF0-AF15),通过GPIOx_AFRL(引脚0-7)、GPIOx_AFRH(引脚8-15)两个32位寄存器对这些输入进行配置,每个IO引脚用4位。
STM32F407ZGT6:有92个中断,包括10个内核中断和82个可屏蔽中断,具有16级可编程的中断优先级。
中断管理:
首先对STM32中断进行分组(0-4),每个中断设置一个抢占优先级和一个响应优先级值。
组0 : 0位抢占优先级,4位响应优先级。
组1 : 1位抢占优先级,3位响应优先级。
组2 : 2位抢占优先级,2位响应优先级。
组2 : 3位抢占优先级,1位响应优先级。
组4 : 4位抢占优先级,0位响应优先级。
(数值越低,级别越高)
分组配置在寄存器SCB->AIRCR中8-10位配置,每个中断中IP寄存器(8位)中4-7位设置分配情况(例如:两位设置抢占、两