void ADC1_2_IRQHandler(void) { /* 判断产生中断请求 */ while(ADC_GetITStatus(ADCx, ADC_IT_EOC) == SET) resurt=ADC_GetConversionValue(ADCx); /* 清除中断标志 */ ADC_ClearITPendingBit(ADCx, ADC_IT_EOC); } 主函数 主函数负责接收转换的值,并将其转换为电压值,然后通过串口打印在计算机上,...
DCD ADC1_2_IRQHandler ; ADC1_2 DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 DCD CAN1_RX1_IRQHandler ; CAN1 RX1 DCD CAN1_SCE_IRQHandler ; CAN1 SCE DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 DCD ...
* @arg ADC_Channel_8: ADC Channel8 selected * @arg ADC_Channel_9: ADC Channel9 selected * @arg ADC_Channel_10: ADC Channel10 selected * @arg ADC_Channel_11: ADC Channel11 selected * @arg ADC_Channel_12: ADC Channel12 selected * @arg ADC_Channel_13: ADC Channel13 selected * @arg...
ADC_Init(ADC_x, &ADC_InitStruct); RCC_ADCCLKConfig(RCC_PCLK2_Div8); // 配置ADC时钟为8分频 ADCCLK = 9M ADC_RegularChannelConfig(ADC_x, ADC_CHANNEL, 1, ADC_SampleTime_55Cycles5); ADC_ITConfig(ADC_x, ADC_IT_EOC, ENABLE); // 配置ADC转换完成中断 ADC_Cmd(ADC_x, ENABLE); // 使能...
voidADC1_2_IRQHandler(void) {if(ADC_GetITStatus(ADC1,ADC_IT_EOC)) {/*重启DMA*/DMA_Cmd(DMA1_Channel1,DISABLE); DMA_SetCurrDataCounter(DMA1_Channel1,2);//设置还要转换的数据个数DMA_Cmd(DMA1_Channel1,ENABLE); ADC_ClearITPendingBit(ADC1, ADC_IT_EOC);//清除转换完成标志} ...
1,串口的初始化 2,ADC初始化 3,中断初始化 4,编写中断函数 5,编写主函数 接下来详细介绍: 1,串口的初始化: void usart_init() { GPIO_InitTypeDef Uart_A; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE); Uart_A.GPIO_Pin = GPIO_Pin_9; ...
编写测试接口函数test_get_ADC_value,将其放到中断文件stm32g4xx_it.c中ADC1_2_IRQHandler处调用。 仿真看看读取到的变量结果,如果我们将这个通道连接到VCC,数据会变成0x0FFF左右,接到GND,数据变成0x0000。 以上工程源代码,包括cubemx 生成的ioc文件都可以开源,有需要的小伙伴记得点赞之后私信哟...
ADC1_2_IRQHandler USB_HP_CAN1_TX_IRQHandler USB_LP_CAN1_RX0_IRQHandler CAN1_RX1_IRQHandler CAN1_SCE_IRQHandler EXTI9_5_IRQHandler TIM1_BRK_IRQHandler TIM1_UP_IRQHandler TIM1_TRG_COM_IRQHandler TIM1_CC_IRQHandler TIM2_IRQHandler TIM3_IRQHandler ...
1)规则组 此模式通过设置ADC_CR1 寄存器上的DISCEN位激活。它可以用来执行一个短序列的n次转换(n<=8),此转换是ADC_SQRx寄存器所选择的转换序列的一部分。数值n由ADC_CR1寄存器的DISCNUM[2:0]位给出。 一个外部触发信号可以启动ADC_SQRx 寄存器中描述的下一轮n次转换,直到此序列所有的转换完成为止。总的序...
void ADC1_2_IRQHandler(void){ ADC_Temp=Get_ADC(); //ADC_Temp 和 Vsense 是全局变量 printf(...