当前位置:首页 > 单片机 > 单片机
[导读]1、RCC相关:APB2启动时钟项:RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB, RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE, RCC_APB2Periph_GPIOF, RCC_APB2Periph_GP

1、RCC相关:

APB2启动时钟项:

RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB,

RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE,

RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1,

RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1,

RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3,

RCC_APB2Periph_ALL

APB2启动函数:

RCC_APB2PeriphClockCmd(XX,ENABLE);

APB1启动时钟项:

RCC_APB1Periph_TIM2, RCC_APB1Periph_TIM3, RCC_APB1Periph_TIM4,

RCC_APB1Periph_TIM5, RCC_APB1Periph_TIM6, RCC_APB1Periph_TIM7,

RCC_APB1Periph_WWDG, RCC_APB1Periph_SPI2, RCC_APB1Periph_SPI3,

RCC_APB1Periph_USART2, RCC_APB1Periph_USART3, RCC_APB1Periph_USART4,

RCC_APB1Periph_USART5, RCC_APB1Periph_I2C1, RCC_APB1Periph_I2C2,

RCC_APB1Periph_USB, RCC_APB1Periph_CAN1, RCC_APB1Periph_BKP,

RCC_APB1Periph_PWR, RCC_APB1Periph_DAC, RCC_APB1Periph_ALL

APB1启动函数:

RCC_APB2PeriphClockCmd(XX,ENABLE);

AHB启动时钟项:

RCC_AHBPeriph_DMA1

RCC_AHBPeriph_DMA2

RCC_AHBPeriph_SRAM

RCC_AHBPeriph_FLITF

RCC_AHBPeriph_CRC

RCC_AHBPeriph_FSMC

RCC_AHBPeriph_SDIO

AHB启动函数:

RCC_AHBPeriphClockCmd (XX,ENABLE);


2、GPIO相关:

GPIO模式:

GPIO_Mode_AIN:模拟输入 GPIO_Mode_IN_FLOATING:浮空输入

GPIO_Mode_IPD:下拉输入 GPIO_Mode_IPU:上拉输入

GPIO_Mode_Out_OD:开漏输出 GPIO_Mode_Out_PP:推挽输出

GPIO_Mode_AF_OD:复用开漏输出 GPIO_Mode_AF_PP:复用推挽输出

GPIO速度:

GPIO_Speed_2MHz

GPIO_Speed_10MHz

GPIO_Speed_50MHz

GPIO引脚声明:

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x; x:1~15或者all

GPIO初始化函数:

GPIO_Init(GPIOx, &GPIO_InitStructure); x:A~G

注:需要定义GPIO结构体变量,GPIO_InitTypeDef GPIO_InitStructure;


3、ADC相关

最好需要重新初始化:ADC_DeInit(ADCx);

ADC工作模式选择:

ADC_Mode_Independent:独立工作

ADC_Mode_RegInjecSimult:混合同步+注入同步

ADC_Mode_RegSimult_AlterTrig:混合同步+交替触发

ADC_Mode_InjecSimult_FastInterl:混合同步+快速交替

ADC_Mode_InjecSimult_SlowInterl:混合同步+慢速交替

ADC_Mode_InjecSimult:注入同步

ADC_Mode_RegSimult:规则同步

ADC_Mode_FastInterl:快速交替

ADC_Mode_SlowInterl:慢速交替

ADC_Mode_AlterTrig:交替触发

通过ADC_InitStructure.ADC_Mode = XX进行赋值

ADC扫描使能:

ADC_InitStructure.ADC_ScanConvMode = ENABLE;

ADC连续/单次模式选择:

ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;

ADC转换控制方式:

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//有软件控制转换

ADC数据对齐方式:ADC_DataAlign_Right:右对齐/ ADC_DataAlign_Right:左对齐

ADC_InitStructure.ADC_DataAlign =XX

ADC转换通道数:

ADC_InitStructure.ADC_NbrOfChannel = X // X=1~16

ADC初始化函数:

ADC_Init(ADCx, &ADC_InitStructure);

注:在开始要定义结构体变量 ADC_InitTypeDef ADC_InitStructure

是否使能ADCx DMA:

ADC_DMACmd(ADCx, ENABLE);

使能ADCx:

ADC_Cmd(ADCx, ENABLE);

初始化ADC1校准寄存器:

ADC_ResetCalibration(ADCx);

检测ADC1校准寄存器初始化是否完成:

while(ADC_GetResetCalibrationStatus(ADCx));

开始校准ADC1:

ADC_StartCalibration(ADCx);

检测是否完成校准:

while(ADC_GetCalibrationStatus(ADCx));

ADC1转换软件启动:

ADC_SoftwareStartConvCmd(ADCx, ENABLE);


4、DMA相关:

复位通道:

DMA_DeInit(DMAy_Channelx);//复位DMAy通道x,y=1时,x=1~7;y=2时,x=1~5

定义外设基地址,全局变量:

DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;//地址自己定义

如:#define ADC1_DR_Address ((u32)0x4001244C)

定义DMA存储器地址,全局变量u32

DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue; //定义DMA通道存储器地址

如:volatile unsigned short int ADC_ConvertedValue[8];

DMA外设方向:

DMA_InitStructure.DMA_DIR = XX;

DMA_DIR_PeripheralSRC:外设为数据传输的来源,DMA_DIR_PeripheralDST:外设为数据传输的目的地

DMA传输数量寄存器值,即缓存大小,单位由MemoryDataSize或PeripheralDataSize决定:

DMA_InitStructure.DMA_BufferSize = x;

//定义DMA缓冲区大小x,如8通道ADC,则x就为8

DMA外设地址寄存器变不变:

DMA_InitStructure.DMA_PeripheralInc = x;

DMA_PeripheralInc_Disable:外设地址寄存器不变DMA_PeripheralInc_Enable:外设地址寄存器递增

DMA内存地址寄存器变不变:

DMA_InitStructure.DMA_MemoryInc = X;

DMA_MemoryInc_Disable:内存地址寄存器不变DMA_MemoryInc_Enable:内存地址寄存器递增

外设数据宽度:

DMA_InitStructure.DMA_PeripheralDataSize = X;

DMA_PeripheralDataSize_Byte 数据宽度为8位

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Sept. 10, 2025 ---- 根据TrendForce集邦咨询最新发布的《全球电动车逆变器市场数据》,2025年第二季受惠纯电动车(BEV)销售成长,全球电动车(注1)牵引逆变器装机量达766万台,年增19%。...

关键字: 增程式电动车 SiC 牵引逆变器

Sept. 8, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季NVIDIA(英伟达) Blackwell平台规模化出货,以及北美CSP业者持续扩大布局General Server(通用型...

关键字: SSD DDR4 服务器

Sept. 4, 2025 ---- Apple(苹果)即将发布iPhone 17、iPhone 17 Air(暂名)、iPhone 17 Pro及Pro Max四款旗舰新机,除了外观辨识度升级,处理器性能、散热和拍摄功...

关键字: iPhone 16 A19处理器 折叠机

Sept. 3, 2025 ---- 根据TrendForce集邦咨询最新发布的《2025近眼显示市场趋势与技术分析》报告,2025年随着国际品牌陆续推出AR眼镜原型,以及Meta预计在近期发布AR眼镜Celeste,市...

关键字: AR眼镜 OLED

Sept. 2, 2025 ---- TrendForce集邦咨询表示,2025年第二季DRAM产业因一般型DRAM (Conventional DRAM)合约价上涨、出货量显著增长,加上HBM出货规模扩张,整体营收为3...

关键字: DRAM 智能手机 ASP

Sept. 1, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季因中国市场消费补贴引发的提前备货效应,以及下半年智能手机、笔电/PC、Server新品所需带动,整体晶圆代工产能利用率与出货...

关键字: 晶圆代工 智能手机 笔电

Aug. 28, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季NAND Flash产业虽面临平均销售价格(ASP)小幅下滑,所幸原厂减产策略缓解供需失衡,叠加中、美两大市场政策推动,整体...

关键字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英伟达)近日推出的Jetson Thor被视为机器人的物理智慧核心,以Blackwell GPU、128 GB记忆体堆叠出2070 FP4 TFLOPS AI算力,是前...

关键字: 机器人 大型语言模型 AI算力

Aug. 21, 2025 ---- 根据TrendForce集邦咨询最新液冷产业研究,随着NVIDIA GB200 NVL72机柜式服务器于2025年放量出货,云端业者加速升级AI数据中心架构,促使液冷技术从早期试点迈...

关键字: AI 数据中心 服务器

除了充电电路外,锂电池的放电过程也需要保护。锂电池的放电电压不能低于3.0V,否则电池寿命会大幅缩短。为了实现这一保护,工程师们设计了DW01芯片与8205 MOS管的电路组合。DW01芯片能够监控锂电池的放电电压和电流...

关键字: 锂电池 电池
关闭