STMCU小助手
发布时间:2021-12-12 21:55
|
和F1的一点区别: GPIO_Initure.Alternate=GPIO_AF7_USART1;多了这么一个东西用来对复用端口进行复用功能选择,F1不用选择,刚看到目前还不知道为啥。, T# G2 } }0 T* t F7不支持位带操作 **6 `. Z6 D: t0 |- X2 _8 C7 i, M+ q 767中断 CM7内核支持256个中断,767使用了118个,包括10个内核中断和108个可屏蔽中断。具有16级可编程中断优先级。
* B- b* R7 D" Y2 V! {3 v ISER[8]:中断使能寄存器组,8个32位寄存器来控制CM7的256个中断,767自由ISER【0-3】有用,要使能某个中断,相应位置一" G6 ^" ?. z' g ICER[8]:中断除能寄存器组,和ISER相反的功能。* `: w8 T0 X- W1 Y8 T" j* ]) ~8 M ISPR[8]:中断挂起寄存器组,将对应位中断挂起,执行其他同级或高级中断。 ICPR[8]:中断解挂控制寄存器组: IABR[8]:中断激活标志位寄存器组:对应位为1表对应位中断正在执行,通过它判断正在执行的中断,硬件清零。 IP[240]:中断优先级控制寄存器组:240个八位寄存器组,767用108个。IP【109】-IP【0】(98,97没用),每个可屏蔽中断的8bit用了高4位,分抢占优先级和子优先级。 8 m9 {5 X; y& }; I2 p; x- S, p6 @
, a2 v& P" \; o( @! q8 S) ?) T/ z 抢占优先级级别高于子优先级,数值低为高优先级。 ; V. r$ X7 Y) |8 n' s 1 ]! b' d! W; i SYSTEM文件夹0 y3 M. h3 i( g. L- _& |; T delay( }, A& q# _( U5 N0 z. F # I1 n4 ]3 A6 ]. ~0 S: V
使用SysTick定时器,24位倒计时,不占用中断和系统定时器。: @' U4 i$ S% f/ z& W! \$ c8 ? 在ucos操作系统中,有SysTick提供时钟节拍,这个时钟一般不能打断。7 ~9 d2 M. l: w) ?8 N; m 这里的延时只是抓取SysTick值得变化,不修改,所以不影响ucos时钟节拍。4 C0 _) I5 j' [8 f' w
在这里插入图片描述这里delay_ostickspersec是用来设置os时钟节拍的,由注释可见时钟节拍最大为77.7ms,这里767的SYSCLK值为216,如果要设置时钟节拍为5ms则设置delay_ostickspersec值为200,216000000/200=1080000,每个值计时1/216us,1080000/216=5000,即为5ms的os时钟节拍。 reload*1000000计数值结束即为1s9 I2 _" a8 }1 s9 r S9 s0 q1 X S ) O" R. {- d+ e5 h3 G: Q: Z7 m8 V fac_ms值为os能延时的最小单位,比这个值小delay_ms就不会使用OS延时,而使用delay_us()来实现延时。如这里delay_ostickspersec值为200,fac_ms就为5& v {- r% U$ j/ f1 Q7 ?3 a Sys0 |3 \$ t4 S' f5 ]1 c8 g6 h& s 8 J! \- v i) B( H
开启数据cache和指令cache,并保证D-Cache和SRAM的数据保持同步刷新,防止数据不一致。 这个文件还负责重命名一些类型以及初始化时钟! I" y' Z9 ?9 k' ~5 ~6 W 4 A. f" \4 D8 e* j Usart. Z, G. g! l& K& J printf函数支持,如果要修改一般就修改相应的串口号。& |$ V# V9 u1 B $ o7 L* z( i0 q5 W( e4 s% c GPIO 开漏模式可以读IO输入电平变化,此模式可以把端口作为双向IO使用。 ' s, ?3 a. o: L% } HAL_GPIO_TogglePin();取反输出电平,内部是ODR寄存器的值决定输出电平。 BSRR寄存器和ODR寄存器功能相似,低16位写1输出高电平,高16位写1输出低电平。 HAL_GPIO_WritePin(GPIOx,GPIO_Pin,PinState); IDR寄存器用来读取GPIO口状态/ s1 ~. u* \$ U- ^4 s: E4 d- C6 G HAL_GPIO_ReadPin(GPIOx,GPIO_Pin); : ?% w3 y& H' W) s + C5 {& q* j* s0 ~: I/ E |
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
2025国庆中秋活动体验报告2——TouchGFX的UI设计
微信公众号
手机版