0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将ADC与带有LCD的stm32 Discovery板一起使用

454398 来源:网络整理 作者:网络整理 2019-12-09 16:00 次阅读

步骤1:ADC

使用HAL Cube,ADC的实现非常简单(在第1部分中提到)。

我正在使用 12位ADC模块

ADC预分频器= 8

转换数= 1

ADC分辨率= 128

采样时间为112个周期。

我们还可以将ADC与DMA一起使用。用于它的IRQ处理程序是 HAL_DMA_IRQHandler(AdcHandle.DMA_Handle) ,其中AdcHandle是ADC_HandleTypeDef类型。

要显示ADC值,我们必须使用uint32t uhADCxConvertedValue的外部值。它将值从0转换为4096(2 ^ 12),因此如果要显示从0开始的电压-3V,我们必须做简单的计算 uhADCxConvertedValue * 30/4095;

步骤2:编辑窗口小部件

如何将ADC与带有LCD的stm32 Discovery板一起使用

在segger的文档的500页上,有解释如何使用EDIT窗口小部件的信息

要创建它,我们必须像在第1部分中创建按钮(1)一样,对其进行类似操作。要设置EDIT小部件参数,请在 WM_INIT_DIALOG case(2)中的小部件回调函数中执行此操作。我们还必须创建函数以附加ADC值编辑。我将在下面显示(3)。

/**** 1 **************************************************************************************************************/

#define ID_W0_EDIT0 (GUI_ID_USER + 3)

static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =

{

{ EDIT_CreateIndirect , 0 , ID_W0_EDIT0 , 178, 15, 40, 20 },

};

/**** 2 **************************************************************************************************************/

hItem = WM_GetDialogItem(hDlg, ID_W0_EDIT0);

EDIT_SetHexMode(hItem, 0x1234, 0, 0xffffff); // set your own parameters

/**** 3 **************************************************************************************************************/

static void _ShowADCval(void)

{

WM_HWIN hItem;

int adc_val = uhADCxConvertedValue * 30 / 4095;

hItem = WM_GetDialogItem(oscWindow, ID_W0_EDIT0);

EDIT_SetDecMode(hItem, adc_val, 0, 300, 1, GUI_EDIT_NORMAL);

}

步骤3:ADC图

该图显示了来自PA0引脚的ADC值电平。在第一张图片中,我将具有3V和GND的PA0连接到第二张图片中的PA0。在图表上,我们可以实时看到这些值。我也将编辑小部件放在右上角。如您所见,该值随图形而变化。

创建图形的功能类似于EDIT小部件的创建。

创建所有框架图,编辑和图形:

#define ID_W0 (GUI_ID_USER + 1)

#define ID_W0_GRAPH0 (GUI_ID_USER + 2)

#define ID_W0_EDIT0 (GUI_ID_USER + 3)

//

// Dialog resource

//

static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =

{

{ FRAMEWIN_CreateIndirect, “Osciloscope” , ID_W0 , 0, 0, 240, 320, 0 },

{ GRAPH_CreateIndirect , 0 , ID_W0_GRAPH0 , 5, 5, 225, 230 },

{ EDIT_CreateIndirect , 0 , ID_W0_EDIT0 , 178, 15, 40, 20 },

};
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4414

    浏览量

    167123
  • adc
    adc
    +关注

    关注

    98

    文章

    6443

    浏览量

    544135
  • Discovery
    +关注

    关注

    0

    文章

    13

    浏览量

    8741
收藏 人收藏

    评论

    相关推荐

    DAC81416多通道输出口连一起,输出不同电压,会发生什么?

    大家好,如果DAC的多个输出通道连在一起,输出不同电压,会发生什么?
    发表于 11-20 07:36

    TPS23753A与外部误差放大器一起使用

    电子发烧友网站提供《TPS23753A与外部误差放大器一起使用.pdf》资料免费下载
    发表于 10-10 10:23 0次下载
    <b class='flag-5'>将</b>TPS23753A与外部误差放大器<b class='flag-5'>一起</b>使用

    使用stm32f767tlv320adc3140配置为tdm工作模式,如何将每个通道数据单独提出出来进而播放呢?

    使用stm32f767tlv320adc3140配置为tdm工作模式,采集到了四通道差分输入的音频数据,如何将每个通道数据单独提出出来进而播放呢?
    发表于 10-09 07:47

    5G信号链与电平转换结合在一起

    电子发烧友网站提供《5G信号链与电平转换结合在一起.pdf》资料免费下载
    发表于 09-18 14:49 0次下载
    <b class='flag-5'>将</b>5G信号链与电平转换结合在<b class='flag-5'>一起</b>

    请问如何将OPA657和ADC08D500对接?

    做激光测距,APD作为接收端,计划用OPA657做转换,但后端的ADC08D500要求差分输入,该如何将OPA657和ADC08D500对接呢?
    发表于 08-22 06:54

    可以USB主机与Esp8266一起使用吗?

    我可以 USB 主机(USB A 型母头)与 Esp8266 一起使用吗? 为什么我不能使用它
    发表于 07-19 06:49

    如何将atoi与esp8266 sdk一起使用?

    有谁知道如何将 atoi 与 esp8266 sdk 一起使用?我似乎找不到可以提供它的头文件。 I\'m using \"ESP8266_NONOS_SDK_V1.5.4_16_05_20\"
    发表于 07-09 07:59

    adc2和蓝牙一起使用会异常的原因?

    ESP32的ADC2的通道0(gpio4)与蓝牙一起使用时采集的ad值异常,而未开启蓝牙时ad值正常,请问adc2的通道0有使用限制还是怎么样? 蓝牙启动以后ad采集值直接满量程,而实际电压还是刚上电时采集的电压 蓝牙未启动
    发表于 06-21 07:16

    可以CY8CKIT-062S4与CY8C6244AZI-S4D62 bsp一起使用吗?

    为我们定制的 bsp(CY8C6244AZI-S4D62)后,构建和下载都成功了、 但 CY8CKIT-062S4 ADC 引脚 P10_0 没有输出。 我可以 CY8CKIT-062S4
    发表于 05-23 08:20

    请问STM32F7 DISCOVERY是几层

    STM32F7 DISCOVERY 是几层? 感觉硬件还是很稳定的。想自己做块F7的板子,双面板,能不能做到这种稳定程度呢?网上看到不少人自己画 遇到SDRAM数据不稳定的
    发表于 05-09 07:40

    如何将LED连接到Arduino并使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 并使其闪烁。
    的头像 发表于 02-11 10:53 2070次阅读
    <b class='flag-5'>如何将</b>LED连接到Arduino<b class='flag-5'>板</b>并使其闪烁

    如何将按钮连接到Arduino

    在本快速入门指南中,您将学习如何将按钮连接到Arduino,并根据按钮是否被按下来读取HIGH或LOW。您将使用电路上随附的发光二极管 (LED)通过按钮打开和关闭,以便验证按钮按下代码是否正常工作。
    的头像 发表于 02-11 10:52 3515次阅读
    <b class='flag-5'>如何将</b>按钮连接到Arduino<b class='flag-5'>板</b>

    如何将CYBLE-012011-EVAL与CY8CKIT-042 KIT_A2G_TC387_MOTORCTR一起使用?

    你好! 我遇到了个问题。 我想将 CYBLE-012011-EVAL 蓝牙模块与 CY8CKIT-042 KIT_A2G_TC387_MOTORCTR一起使用。 但是,我购买
    发表于 01-19 07:21

    ADC的AGND和DGND是个地吗?

    ? 疑问如下: 1.ADC的AGND和DGND是个地吗?这两个地是否要连接在一起,然后连接到系统的模拟地。 2.ADC的DGND与控制器的DGND是什么关系? 参考别人设计,
    发表于 12-22 06:05

    双频收发系统如何将ADC和DAC与xilinx v6相连接使用?

    如题,请问下ADI公司的收发系统如何将ADC和DAC与xilinx v6相连接使用。比如贵公司设计资料中提供的MSDPD收发版就是个例
    发表于 12-11 07:51