GPIO1 |4 N3 N8 V, P) r IO数量:STM32F7 最多有 9 组 IO,分别用大写字母表示,即 x=A/B/C/D/E/F/G/H/I,每组IO有16个管脚& ? K% Y- T- H* u0 T/ r, P& @ 包含的寄存器:STM32F7 每组 IO 有 10 个 32 位寄存器控制,其中常用的有 4 个配置寄存器+2 个数据寄存器+2 个复用功能选择寄存器,共 8 个# Q; J4 S% k7 z1 X - ?, F! e$ X! Y( ^5 m% T3 o. x' ~ ]$ E 有8中工作模式,4种输入4种输 0 |+ B+ W1 e+ M0 l+ Y; R 有4中输出速度,低速中速快速高速 ) n. ~4 Q, I Z$ ^7 t ) @! e/ @. W& O( H6 Q) F3 y* j5 g 串行通信2 [7 K6 X" l+ V5 U 5 n6 U% P/ D5 {/ E ( W$ Y5 I4 ^7 u 同步通信 同步通信即带时钟同步信号的传输 I^2C SPI USART9 v0 T1 h! j9 k7 P( Y STM32F767IGT6 最多可提供 8 路串口,支持 8/16 倍过采样、支持自动波特率检测、支持 Modbus 通信、支持同步单线通信和半双工单线通讯、支持 LIN、支持调制解调器操作、智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA 等。 串口寄存器:& d5 X! i5 P! z4 S R' v" x 串口控制寄存器 CR1 CR2 CR3 波特率寄存器 BRR3 o3 N- r! O5 [' k* @: J4 G6 W5 L 保护时间和预分频寄存器 GTPR 接收超时寄存器 RTOR 请求寄存器 RQR. A" h8 E& i) M( R8 `* G3 v 中断和状态寄存器 ISR 中断标志清零寄存器 ICR 接收数据寄存器 RDR 发送数据寄存器 TDR; C" w! z4 @1 L/ u% C" f! R 异步通信" V0 v" F' o% A UART UART与USART的区别6 |+ U8 C( i8 B) l# B& I( `( v 中断 q! Q- @# [+ G. r4 ] ^% h STM32F7 的中断控制器支持 22 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置- ]8 u0 g8 O! y; [/ M 中断线 0-15 对应外部 IO 口的输入中断 & j/ p- k" T* S 端口复用 可以查看芯片手册查看对应的引脚可以复用为哪些功能,! ^# |; [6 }/ }9 Q& ?5 t9 i L 通过AFRL,和AFRH寄存器配置复用 ,2个32位寄存器,美组GPIO有16个引脚,每个引脚占4bit位,AFRL映射0~7,AFRH映射8 ~15,4个bit位对应复用的不同功能,每组GPIO只能复用一个引脚(避免冲突)
看门狗 STM32F7内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG)。 , e- q: Y% {/ ~2 `* Q- `4 J2 N 定时器4 w8 q/ x% A% K STM32F767 的定时器功能十分强大,有 TIM1 和 TIM8 等高级定时器,有 LPTIM1 低功耗定时器,也有 TIM2TIM5,TIM9TIM14 等通用定时器,还有 TIM6 和 TIM7 等基本定时器,总共达 15 个定时器之多。8 i5 l; z( z% Q TM32F767 的通用定时器包含一个 16 位或 32 位自动重载计数器(CNT),该计数器由可 编程预分频器(PSC)驱动。STM32F767 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32F767 的每个通用定时器都是完全独立的,没有互相共享的任何资源。$ `' [# |0 E; b 寄存器 , y2 ^# Q- }. [ ' l; J0 D6 J+ I2 P" C- Q# \ ADC ADC将连续变化的数字信号转换为离散的模拟信号。$ V2 I5 s5 @6 c6 k 12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部源、4 ?" S1 ~6 r' b* I' W, H 两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续采样9 U% p' V8 u& h0 k; f( g# u 模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。. D% c% a. Z6 \5 { ADC 具有模拟看门狗特性,允许应用检测输入电压是否超过了用户自定义的阈值上限或下限。$ c+ K9 d/ b) k2 v/ O 规则通道组和注入通道组:STM32F767 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换。STM32F767 其 ADC 的规则通道组最多包含 16 个转换,而注入通道组最多包含 4 个通道。, l2 w7 _- m8 l5 p' d8 j7 _% m0 t0 D) p 转换模式:STM32F767 的 ADC 可以进行很多种不同的转换模式,: z f( E/ h% T* D) E/ { ) I1 E: ^$ p5 i+ E" H3 ] 2 Z+ D @! J; P) r0 [ MPU MPU,即内存保护单元,可以设置不同存储区域的存储器访问特性(如只支持特权访问或7 W7 H* o3 u( O: G 全访问)和存储器属性(如可缓存、可缓冲、可共享),对存储器(主要是内存和外设)提供保' \; q0 {2 ?, F1 l+ a% J 护,从而提高系统可靠性。. X8 j- V2 k4 V6 ^2 h HAL库中MPU_Region_InitTypeDef很方便的可以对其进行设置。% e6 T& r2 ]+ U 5 g" w6 p7 w- Z6 _/ Z# ^ 3 E7 S6 M& [+ f5 S |
基于STM32F746G-Discover的扩展电路板
【合集】STM32F7教程、资料大集合
F769 Discovery实现播放U盘音乐的播放器
STM32 VS Code Extension (在Ubuntu上开发STM32,ST官方vscode插件使用指南)
STM32F765@216MHz跑NES模拟器【代码】【视频】
基于STM32F7实现ADC软件触发+轮询采集
基于STM32F7进行ADC采集解决更新问题
基于STM32F7使用定时器经验分享
实现基于STM32F7中周期采集
基于STM32F7中实现采集和中断