找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2496|回复: 0
打印 上一主题 下一主题
收起左侧

如何在OLED上显示ADC的值 求帮助

[复制链接]
跳转到指定楼层
楼主
ID:583448 发表于 2019-7-13 14:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"  
#include "adc.h"
#include "oled.h"



int main(void)
{  
  u16 adcx;
float temp;
delay_init();      
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);   
  LED_Init();      
LCD_Init();
OLED_Init();     
  Adc_Init();   
POINT_COLOR=RED;
LCD_ShowString(60,50,200,16,16,"WarShip STM32");
LCD_ShowString(60,70,200,16,16,"ADC TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"2015/1/14");

POINT_COLOR=BLUE;
LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");      
LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");   
  OLED_ShowString(0,0, "0.96' OLED TEST");
OLED_ShowString(0,0,"ADC:");
OLED_ShowString(0,16,"VOL:");
OLED_ShowString(0,32,"temp:");
OLED_Refresh_Gram();   
while(1)
{
  adcx=Get_Adc_Average(ADC_Channel_1,10);
  LCD_ShowxNum(156,130,adcx,4,16,0);//ÏÔʾADCµÄÖµ
  OLED_ShowNum(40,0,adcx,4,16);
  OLED_Refresh_Gram();
  printf("ADC=%d\n",adcx);
  temp=(float)adcx*(3.3/4096);
  printf("out:%lf\n",temp);
  adcx=temp;
  LCD_ShowxNum(156,150,adcx,1,16,0);//ÏÔʾµçѹֵ
  OLED_ShowNum(40,16,adcx,1,16);
  OLED_Refresh_Gram();
  printf("VOL=%f\n",adcx);
  temp-=adcx;
  temp*=1000;
  LCD_ShowxNum(172,150,temp,3,16,0X80);
  OLED_ShowNum(40,32,temp,3,16);
  OLED_Refresh_Gram();
  printf("temp=%f\n",temp);
  printf("\r\n");
  LED0=!LED0;
  delay_ms(250);
}

}
上面是源代码,大家可以帮我改改吗,显示有4个错误

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表