STM32模块初始化模版和函数寄存器汇总

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

RxBuffer = USART_ReceiveData(USART1);//缓存接收的数据

USART_ClearITPendingBit(USART1, USART_IT_RXNE);//清中断标志位 }

if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)//如果是发送中断 { } }

DMA直接内存存取

DMA 初始化

void DMA_ Configuration(void) {

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);//使能时钟

DMA_DeInit(DMA1_Channel1);//将DMA1通道1初始化为缺省值

DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;//设定外设基地址,AD的地址为0x4001244C

DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADCConvertedValue;//设定内存基地址,如果是数组直接写数组名。

DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&aa;//如果是单个变量,需要加”&”取地址符 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//外设为数据源头

DMA_InitStructure.DMA_BufferSize = 16;//缓存区数据大小,根据设定的数组大小定就可以 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //外设地址自加禁止,如果有多个外设绑定一个DMA通道的时候可以开启 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //内部存储地址自加使能,如果是单个变量可以禁止

DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;//外设数据宽度 16位

DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;//内部存储数据宽度16位

DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//循环模式 DMA_InitStructure.DMA_Priority = DMA_Priority_High;//DMA通道优先级 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;//禁止内存到内存的传输 DMA_Init(DMA1_Channel1, &DMA_InitStructure); /* Enable DMA1 channel1 */

DMA_Cmd(DMA1_Channel1, ENABLE);//DMA总使能 }

AD模数转换

AD初始化

void ADC_Configuration(void)

{

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC独立模式 ADC_InitStructure.ADC_ScanConvMode = ENABLE;//使能扫描转换模式 ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//使能连续转换模式

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//没有外部触发源 //ADC_ExternalTrigInjecConv_T1_TRGO 选择定时器 1 的 TRGO作为注入转换外部触发 //ADC_ExternalTrigInjecConv_T1_CC4 选择定时器1的捕获比较4作为注入转换外部触发 //ADC_ExternalTrigInjecConv_T2_TRGO 选择定时器 2 的 TRGO作为注入转换外部触发 //ADC_ExternalTrigInjecConv_T2_CC1 选择定时器2的捕获比较1作为注入转换外部触发 //ADC_ExternalTrigInjecConv_T3_CC4 选择定时器3的捕获比较4作为注入转换外部触发 //ADC_ExternalTrigInjecConv_T4_TRGO 选择定时器 4 的 TRGO作为注入转换外部触发 //ADC_ExternalTrigInjecConv_Ext_IT15 选择外部中断线 15 事件作为注入转换外部触发

联系合同范文客服:xxxxx#qq.com(#替换为@)