蓝桥嵌入式之 2017_第八届_蓝桥杯_省赛_温湿度监控设备

工程可见Github<传送门>


由于代码过长,这里就不再贴出代码了,只是记录下自己在做这个题遇到的问题吧。

1、关于小灯

又探索出了新的操作方法

//LED
u16 LED_MODE = 0XFFFF;
...

LED_MODE |= (1<<9);
GPIOC-> ODR = LED_MODE;
GPIOD-> ODR |= (1<<2);
GPIOD-> ODR &=~(1<<2);

2、多个界面的操作

比如这个题中,有多个界面且每个界面也有不同的参数,显示对应的参数和处理对应的参数,如果变量使用同一个容易发生意想不到的错误。

最好显示用原值,处理再来一个缓冲区变量。

3、高亮某一行的方法

就是夹在中间上下分别设置,注意其后要紧跟着LCD_DisplayStringLine

if(SelIndex == 0)
	LCD_SetTextColor(Green);
else
	LCD_SetTextColor(White);
	LCD_DisplayStringLine(...)
4、使用E2PROM

使用自带的I2C底层,进行连续读和写,要注意适当的延时,这里就取5ms了

5、串口

①、最后加个回车换行(\r\n)会更好

sprintf((char *)UART_Str, " Temp:%d,  Humi:%d  Time:%2d:%2d:%2d\r\n", TempThre,HumiThre,HH,MM,SS);

②、操作完一帧数据别忘了再次开启接收中断和清空缓冲区

//别忘了这两个
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//接收的数据处理完毕后打开接收中断
for(i=0; i<20; i++)//清空缓冲区
	RxdBuf[i] = 0;

你可能感兴趣的:(蓝桥杯之嵌入式,蓝桥之嵌入式开发)