oled_showstring
时间: 2023-06-22 14:39:46 浏览: 265
OLED_ShowString是一个OLED显示屏的函数,用于在OLED屏幕上显示字符串。它的参数包括要显示的字符串、字符串长度、显示位置等。这个函数可以在嵌入式系统中使用,常用于显示系统状态信息、传感器数据等。
举个例子,如果要在OLED屏幕上显示“Hello World!”这个字符串,可以使用如下代码:
```
OLED_ShowString(0,0,"Hello World!", 16);
```
其中,0和0表示要显示的字符串在OLED屏幕上的起始位置,"Hello World!"是要显示的字符串,16表示字符串的长度。
相关问题
OLED_ShowString
OLED_ShowString是一个OLED显示屏的函数,用于在OLED屏幕上显示字符串。它的参数包括要显示的字符串、字符串长度、显示位置等。这个函数可以在嵌入式系统中使用,常用于显示系统状态信息、传感器数据等。
举个例子,如果要在OLED屏幕上显示“Hello World!”这个字符串,可以使用如下代码:
```
OLED_ShowString(0,0,"Hello World!", 16);
```
其中,0和0表示要显示的字符串在OLED屏幕上的起始位置,"Hello World!"是要显示的字符串,16表示字符串的长度。
uint16_t temp_raw = ADC_Read(ADC_Channel_16); uint16_t light_raw = ADC_Read(ADC_Channel_17); float temp = (temp_raw * 3.3f / 4096.0f - 0.76f) / 0.0025f + 25.0f; float light = light_raw * 3.3f / 4096.0f; if (temp > 30.0f) GPIO_SetPin(GPIOB, GPIO_Pin_12); else GPIO_ResetPin(GPIOB, GPIO_Pin_12); if (light < 1.0f) GPIO_SetPin(GPIOB, GPIO_Pin_13); else GPIO_ResetPin(GPIOB, GPIO_Pin_13); OLED_Clear(); OLED_ShowString(0, 0, "LED1:"); if (GPIO_ReadPin(GPIOB, GPIO_Pin_12)) OLED_ShowString(48, 0, "ON"); else OLED_ShowString(48, 0, "OFF"); OLED_ShowString(0, 1, "LED2:"); if (GPIO_ReadPin(GPIOB, GPIO_Pin_13)) OLED_ShowString(48, 1, "ON"); else OLED_ShowString(48, 1, "OFF"); OLED_ShowString(0, 2, "Temp:"); OLED_ShowFloat(48, 2, temp, 1); OLED_ShowChar(72, 2, 'C'); OLED_ShowString(0, 3, "Light:"); OLED_ShowFloat(48, 3, light, 2); OLED_ShowChar(72, 3, 'V'); Delay_ms(1000); }详细解释每句代码的意思
这段代码是用来读取温度传感器和光强传感器的数据,并根据读取到的数据控制两个LED灯的开关状态,并在OLED屏幕上显示传感器数据和LED灯的状态。
具体解释如下:
```
uint16_t temp_raw = ADC_Read(ADC_Channel_16);
uint16_t light_raw = ADC_Read(ADC_Channel_17);
float temp = (temp_raw * 3.3f / 4096.0f - 0.76f) / 0.0025f + 25.0f;
float light = light_raw * 3.3f / 4096.0f;
```
这部分代码是用来读取温度传感器和光强传感器的原始数据,并将其转换为实际的温度值和光强值。其中,temp_raw和light_raw分别存储了温度传感器和光强传感器读取到的原始数据,temp和light则分别存储了根据原始数据计算得到的实际温度值和光强值。
```
if (temp > 30.0f)
GPIO_SetPin(GPIOB, GPIO_Pin_12);
else
GPIO_ResetPin(GPIOB, GPIO_Pin_12);
if (light < 1.0f)
GPIO_SetPin(GPIOB, GPIO_Pin_13);
else
GPIO_ResetPin(GPIOB, GPIO_Pin_13);
```
这部分代码是根据读取到的温度值和光强值来控制LED灯的开关状态。如果读取到的温度值大于30.0摄氏度,则打开LED1灯;否则关闭LED1灯。如果读取到的光强值小于1.0V,则打开LED2灯;否则关闭LED2灯。
```
OLED_Clear();
OLED_ShowString(0, 0, "LED1:");
if (GPIO_ReadPin(GPIOB, GPIO_Pin_12))
OLED_ShowString(48, 0, "ON");
else
OLED_ShowString(48, 0, "OFF");
OLED_ShowString(0, 1, "LED2:");
if (GPIO_ReadPin(GPIOB, GPIO_Pin_13))
OLED_ShowString(48, 1, "ON");
else
OLED_ShowString(48, 1, "OFF");
OLED_ShowString(0, 2, "Temp:");
OLED_ShowFloat(48, 2, temp, 1);
OLED_ShowChar(72, 2, 'C');
OLED_ShowString(0, 3, "Light:");
OLED_ShowFloat(48, 3, light, 2);
OLED_ShowChar(72, 3, 'V');
Delay_ms(1000);
```
这部分代码是用来在OLED屏幕上显示读取到的传感器数据和LED灯的状态。首先调用OLED_Clear()函数来清空OLED屏幕,然后使用OLED_ShowString()函数和OLED_ShowFloat()函数来显示LED灯状态和传感器数据。最后使用Delay_ms()函数延迟1秒钟,以便用户能够看清屏幕上的显示。
阅读全文