STM32模块初始化模版和函数寄存器汇总 联系客服

发布时间 : 星期六 文章STM32模块初始化模版和函数寄存器汇总更新完毕开始阅读

//ADC_ExternalTrigInjecConv_None 注入转换由软件而不是外部触发启动 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//数据右对齐 ADC_InitStructure.ADC_NbrOfChannel = 2;//打开的AD通道数 ADC_Init(ADC1, &ADC_InitStructure);//执行初始化函数 /*配置每个通道的顺序转换序列和转换的时间*/

ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_55Cycles5); //通道14,序列1,转换时间为55.5个周期

ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 2, ADC_SampleTime_55Cycles5); //通道14,序列1,转换时间为55.5个周期

//ADC_SampleTime_1Cycles5 采样时间为 1.5 周期 //ADC_SampleTime_7Cycles5 采样时间为 7.5 周期 //ADC_SampleTime_13Cycles5 采样时间为 13.5 周期

//ADC_SampleTime_28Cycles5 采样时间为 28.5 周期 //ADC_SampleTime_41Cycles5 采样时间为 41.5 周期 //ADC_SampleTime_55Cycles5 采样时间为 55.5 周期 //ADC_SampleTime_71Cycles5 采样时间为 71.5 周期 //ADC_SampleTime_239Cycles5 采样时间为 239.5 周期 ADC_DMACmd(ADC1, ENABLE); //使能ADC1对DMA的请求 ADC_Cmd(ADC1, ENABLE);

//使能ADC1

ADC_ResetCalibration(ADC1); //ADC1校准复位

while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位成功 ADC_StartCalibration(ADC1); //开始ADC1的校准 while(ADC_GetCalibrationStatus(ADC1)); //等待校准结束

ADC_SoftwareStartConvCmd(ADC1, ENABLE);//开始ADC }

AD IO口设置

void ADC_GPIO_Configuration(void) {

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;//PC4,PC5对应的是AD14,AD15通道 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//模拟量输入 GPIO_Init(GPIOC, &GPIO_InitStructure); }

AD 常用函数

u16 DataValue;

DataValue = ADC_GetConversionValue(ADC1);//取出ADC1中转换的结果

我的笔记:

1. IO口由软件配置可以形成8种工作模式。 2. APB,APB1,APB2为三种STM32的时钟基准。

3. 每个IO口都可以作为中断输入。且IO口可以承受25mA的电流。