完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1.STM32系统架构基础名词描述1.1 APB(Advanced Peripheral Bus),片上外设总线。主要用于慢速片上外设与ARM核的通讯 APB外设:APB1(低速)---->DAC,PWR,BKP,bxCAN,USB,I2C1-2,UART4-5,USART2- 3,SPI2/I2S,SPI3/I2S,IWDG,WWDG,RTC,TIM2-7 APB2(高速)---->ADC1-3,USART1,SPI1,TIM1,TIM8,GPIOA-G,EXTI,AFIO 1.2 AHB(Advanced High performance Bus),高性能总线。主要用于系统高性能、高时钟速率模块间通信 1.3 D-Code 访问数据,数据总线; I-Code访问指令的,指令总线 1.4 DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。 1.5 FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用一种新型的存储器扩展技术。 在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展 1.6 SRAM(Static Random Access Memory),即静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。 1.7 FLASH闪存 一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。 1.8 I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用於音频设备之间的数据传输,广泛应用于各种多媒体系统。 2.STM32时钟系统 2.1 时钟越快,功耗越大,抗电磁干扰能力越弱-------->多时钟系统 2.2 时钟源:5个(HSE,HSI,LSI,LSE,PLL)使用模块,需先使能相应的时钟 2.3 系统时钟大小:SYSCLK(系统时钟) = 72MHz AHB总线时钟(使用SYSCLK) = 72MHz APB1 总线时钟(PCLK1) = 36MHz APB2 总线时钟(PCLK2) = 72MHz PLL时钟 = 72MHz 3.端口福永和重映射 3.1 端口复用 3.1.1 端口复用步骤--->端口时钟和外设时钟的使能 1)GPIO端口时钟使能 2)复用的外设时钟使能 3)端口模式设置------>初始化GPIO以及复用外设功能 3.2 端口重映射-Alternate functions(把复用功能重新映射到其他引脚) 3.2.1 端口重映射步骤 1)使能GPIO时钟----->RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE) 2) 使能串口1时钟----->RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE) 3) 使能AFIO时钟----->RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE) 4) 开启(部分)重映射----->PinRemapConfig(GPIO_(Partial)Remap_USART1,ENABLE) 3.3 NVIC-嵌套向量中断控制器(Nested Vectored Interrupt Controller) 中断优先级管理 3.3.1 cm3:256=16个内核中断+240个外部中断;STM32:84=16个内核中断+68个可屏蔽中断;STM32F103只有60个可屏蔽中断 3.3.2 NVIC寄存器介绍--NVIC_Type中的寄存器都是写1有效,写0无效 NVIC_Type结构体的成员如下-->每个成员均用8个32位寄存器控制,8X32=256 1)ISER[8]->Interrupt Set-Enable Registers:ISER[0]的bit0-31分别对应中断0-31,与ISER[1]的bit31-59,共60个中断 2)ICER[8]->Interrupt Clear-Enable Registers:和ISER功能相反,用于清除中断 3)ISPR[8]->Interrupt Set-Pending Registers(中断挂起控制寄存器):置1,可将正在进行的中断挂起,执行同级或高级的中断 4)ICPR[8]->Interrupt Claer-Pending Registers:与ICPR作用相反 5)IABR[8]->Interrupt Active Bit Registers(中断激活标志位寄存器-只读):该位位1,则表示所对应的中断正在执行,中断执行完成,硬件自动清零 6)IP[240]->Interrupt Priority Registers(中断优先级控制寄存器):240个8位寄存器组成,IP[59]-IP[0]分别对应中断59-0,且只使用高四位=>抢占优先级+子优先级 *##*STM32中断分组:5组(0-4),分组设置由SCB->AIRCR寄存器的bit10-8来定义 抢占优先级>响应优先级,数值越小,则优先级越高--------需查看AIRCR中断分组表-共5组 中断分组函数:NVIC_PriorityGroupConfig(u32 NVIC_PriorityGroup),整个系统只能调用一次 函数的参数(NVIC_PriorityGroup值)有下列5种: NVIC_PriorityGroup_0 => 选择第0组 NVIC_PriorityGroup_1 => 选择第1组 NVIC_PriorityGroup_2 => 选择第2组 NVIC_PriorityGroup_3 => 选择第3组 NVIC_PriorityGroup_4 => 选择第4组 *##*STM32中断初始化函数:NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct) NVIC_InitStruct成员: typedef struct { uint8_t NVIC_IRQChannel;//定义初始化中断号 uint8_t NVIC_IRQChannelPreemptionPriority;//定义抢占优先级 uint8_t NVIC_IRQChannelSubPriority;//子优先级 FunctionalState NVIC_IRQChannelCmd;//该中断是否使能 }EXTI_InitTypeDef; typedef struct { uint8_t NVIC_IRQChannel;//定义初始化中断号 uint8_t NVIC_IRQChannelPreemptionPriority;//定义抢占优先级 uint8_t NVIC_IRQChannelSubPriority;//子优先级 FunctionalState NVIC_IRQChannelCmd;//该中断是否使能 }EXTI_InitTypeDef; 中断优先级设置步骤: (1) 设置中断分组,确定组号-->确定抢占优先级和子优先级的分配位数,调用函数 (2) 设置所用中断的优先级,调用函数 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1632 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1559 浏览 1 评论
985 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1605 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
655浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
525浏览 3评论
540浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
512浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 20:03 , Processed in 1.007213 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号