uart_init(115200); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(); //初始化延时函数 LED_Init(); //初始化LED KEY_Init(); //按键初始化 AT24CXX_Init(); //IIC初始化 OLED_init(); Dac1_Init(); //DAC通道1初始化 Adc_Init(); //初始化ADC OLED_ShowString(0,16, "2023/06/01",16); OLED_ShowString(0,0, "21221054",16); OLED_Refresh_Gram();//更新显示到OLED u16 u16DacVal=0; u16 adcx,adcy; //adcx存放整数,adcy存放小数 float temp; //temp为DAC设置的数字量 u16ScanCnt = 0; DAC_SetChannel1Data(DAC_Align_12b_R,u16DacVal); //初始值为0 ADC_SoftwareStartConvCmd(ADC1, ENABLE); 这段代码出现了以下问题:main.c(240): error: #268: declaration may not appear after executable statement in block u16 adcx,adcy; //adcx存放整数,adcy存放小数 main.c(241): error: #268: declaration may not appear after executable statement in block float temp; //temp为DAC设置的数字量 main.c(251): error: #268: declaration may not appear after executable statement in block u8 u8key;请修改它们
时间: 2024-03-25 10:37:23 浏览: 61
STM32F103_WS2812B灯带pwm+dma方式驱动控制程序软件源码.zip
5星 · 资源好评率100%
这段代码的问题和前面一样,变量的声明出现在了可执行语句之后。需要将变量的声明放在可执行语句之前。
修改后的代码如下:
```
u16 u16DacVal=0;
u16 adcx,adcy; //adcx存放整数,adcy存放小数
float temp; //temp为DAC设置的数字量
u8 u8key;
uart_init(115200);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(); //初始化延时函数
LED_Init(); //初始化LED
KEY_Init(); //按键初始化
AT24CXX_Init(); //IIC初始化
OLED_init();
Dac1_Init(); //DAC通道1初始化
Adc_Init(); //初始化ADC
OLED_ShowString(0,16, "2023/06/01",16);
OLED_ShowString(0,0, "21221054",16);
OLED_Refresh_Gram();//更新显示到OLED
u16ScanCnt = 0;
DAC_SetChannel1Data(DAC_Align_12b_R,u16DacVal); //初始值为0
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
```
这样就可以正确声明变量并使用了。
阅读全文