#include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "AD.h" uint16_t ADValue; float Voltage; int main(void) { OLED_Init(); AD_Init(); OLED_ShowString(1, 1, "ADValue:"); OLED_ShowString(2, 1, "Volatge:0.00V"); while (1) { ADValue = AD_GetValue(); Voltage = (float)ADValue / 4095 * 3.3; OLED_ShowNum(1, 9, ADValue, 4); OLED_ShowNum(2, 9, Voltage, 1); OLED_ShowNum(2, 11, (uint16_t)(Voltage * 100) % 100, 2); Delay_ms(100); } }
时间: 2024-03-07 09:52:16 浏览: 201
SDK-include-stdint.h,inttypes.h.zip
这段代码是一个STM32的主程序,主要功能是读取AD转换器的值,并将其转换为电压值后在OLED屏幕上显示。具体的操作流程如下:
1. 调用OLED_Init()函数进行OLED模块的初始化;
2. 调用AD_Init()函数进行AD转换器的初始化;
3. 在OLED屏幕上显示字符串"ADValue:"和"Volatge:0.00V",分别位于坐标(1,1)和(2,1)处;
4. 进入一个无限循环,循环体内读取AD转换器的值,并将其转换为电压值;
5. 在OLED屏幕上显示AD转换器的值和电压值,分别位于坐标(1,9)、(2,9)和(2,11)处;
6. 延时100毫秒。
注意,该代码依赖于一些外部库文件,包括Delay.h、OLED.h和AD.h,需要在其他地方进行引用。
阅读全文