我将两个模拟输入设置为GPIO_Mode_AIN(模拟输入),将PC2 按键功能键设置成上拉输入(摇杆的SW引脚已经被上拉)。下面是重点: 在ADC1_GPIO_Config(void)函数中,我们主要进行的是DMA和ADC1双通道的设置,下面我们对负责传输的DMA进行设置: DMA_InitTypeDef DMA_InitStructure;/*DMA channel1 configuration*/DMA_DeInit(...
GPIO_SetBits(GPIOA , GPIO_Pin_7); //错误处理 } } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = ...
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M时钟速度 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //输入模式 GPIO_Init(GPIOB, &GPIO_InitStructure); } //===实例应用=== //ADC1初始化设置 ADC1_GPIOInit() ; ADC1_Config() ; DMA_Config_ADC1() ; //dma设置 //--主程序-...
4、配置输入的I/O口 GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOA时钟 GPIO_Initure.Pin=GPIO_PIN_1|GPIO_PIN_0; //PA1和PA0 GPIO_Initure.Mode=GPIO_MODE_ANALOG; //模拟输入 GPIO_Initure.Pull=GPIO_NOPULL; //不带上下拉 HAL_GPIO_Init(GPIOA,&GPIO_Initure)...
RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div16);RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHB...
int main(void) { HAL_Init(); if(IS_ENGINEERING_BOOT_MODE()) { SystemClock_Config(); } MX_GPIO_Init(); MX_DMA_Init(); MX_USART3_UART_Init(); MX_ADC1_Init(); Main_Config(); //配置函数 while (1) { Main_Task(); //主要的任务函数 } } 在main函数中,只添加调用了Main_Config...
可以关闭STM8S003 ADC定时器1。具体而言,您可以在配置函数AD_Config()中通过禁用EOC中断来实现这一目标。示例代码如下:AD_Config()函数配置了GPIOB的第7引脚用于ADC2,去初始化ADC1外设,并且清除了EOC中断标志。接下来,初始化ADC1外设,包括设置连续转换模式、通道7、FCPU/18分频、外部触发源为TIM...
*@BriefUSART GPIO 配置,工作参数配置 * @param 无 * @retval 无 */ void USART_Config(void){ ...
SystemClock_Config(); MX_GPIO_Init(); MX_ADC1_Init(); MX_USART1_UART_Init(); while (1) { // 启动ADC转换 HAL_ADC_Start(&hadc1); // 等待转换完成 HAL_ADC_PollForConversion(&hadc1, 100); // 获取ADC转换结果 uint16_t adc_value = HAL_ADC_GetValue(&hadc1); ...
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOC, ENABLE);//使能GPIOA时钟 RCC...