在网上找的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://fanmimi.com/2020/467.html
本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!