在网上找的stm32的dht11程序,编译的时候出现错误,提示#268 error declaration may not appear after excutable statement in block,看看最后的解决方法。
出错的代码片段
int main(){
SystemInit();
systick_init();
usart_config();
LED_Init(); while (1)
{
Led_On;
u8 buffer[5];
double hum;
double temp;
if (dht11_read_data(buffer) == 0)
{
hum = buffer[0] + buffer[1] / 10.0;
temp = buffer[2] + buffer[3] / 10.0;
}
usart_printf("___{\"temperature\": %.2f, \"humidness\": %.2f}___\n", temp, hum);
delay_us(2000000);
Led_Off;
delay_us(2000000);
}
}看看错误提示

变量的声明,不能放在可执行语句的后面,必须在主函数开头声明变量!
所以,我们按提示,把变量声明放前面去,错误就没了。
int main()
{
u8 buffer[5];
double hum;
double temp;
SystemInit();
systick_init();
usart_config();
LED_Init(); while (1)
{
Led_On;
if (dht11_read_data(buffer) == 0)
{
hum = buffer[0] + buffer[1] / 10.0;
temp = buffer[2] + buffer[3] / 10.0;
}
usart_printf("___{\"temperature\": %.2f, \"humidness\": %.2f}___\n", temp, hum);
delay_us(2000000);
Led_Off;
delay_us(2000000);
}
}记录一下,分享给大家。
欢迎关注微信公众号:泛米米的小菜园
12本阳台种菜电子书限时免费送
关注【泛米米的小菜园】,发送“电子书”免费获取
随时随地在手机上学习交流阳台种菜
这篇文章出自 fanmimi 如需转载请注明出处;
这篇文章的地址:https://www.fanmimi.com/2020/467.html
本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!
安装STM32CubeMx时,提示Invalid directory path.please enter a directory path that meets the operating ....
32位win10系统安装STM32CubeMx的6.1.1版本时提示未安装64位的java,this application requires a java Runtime Environment
keil5出现error:#67: expected a"}" 错误解决方法