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

    文章

    4270

    浏览量

    163869
  • adc
    adc
    +关注

    关注

    95

    文章

    5642

    浏览量

    539273
  • Discovery
    +关注

    关注

    0

    文章

    12

    浏览量

    8716
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    STM32F0DISCOVERY外设固件示例

    电子发烧友网站提供《STM32F0DISCOVERY外设固件示例.pdf》资料免费下载
    发表于 09-21 14:52 5次下载
    <b class='flag-5'>STM32F0DISCOVERY</b>外设固件示例

    STM32F4DISCOVERY外设固件示例

    电子发烧友网站提供《STM32F4DISCOVERY外设固件示例.pdf》资料免费下载
    发表于 09-21 11:13 0次下载
    <b class='flag-5'>STM32F4DISCOVERY</b>外设固件示例

    如何将基于ARM快速模型的Cortex-M33物联网套件FvP与MDK工具链一起使用

    本文档介绍了如何将基于ARM快速模型的Cortex-M33物联网套件FvP与MDK工具链一起使用的分步过程。 虽然我们已经测试了这些实现,但还会对工具和FPGA映像进行更新。 预计这些实现和后续实现之间会有差异。
    发表于 09-05 07:22

    如何将UID码与M031 LDROM和APROM固态软件捆绑在一起

    应用:本试样码UID码与M031 LDROM和APROM固态软件捆绑在一起。 BSP 版本: M031_Series_BSP_CMSIS_V3.04.000 硬件: NuMaker-M032SE
    发表于 08-29 08:03

    如何将Arm Neon C#内部函数与Unity Burst编译器一起使用

    本指南解释了如何将Arm Neon C#内部函数与Unity Burst编译器一起使用,以提高Unity Android应用程序的性能。 在本指南结束时,您将了解到: •单指令多数据(SIMD)指令
    发表于 08-10 07:11

    如何将两个16*2 LCD与arduino连接在一起

    电子发烧友网站提供《如何将两个16*2 LCD与arduino连接在一起.zip》资料免费下载
    发表于 06-30 09:39 0次下载
    <b class='flag-5'>如何将</b>两个16*2 <b class='flag-5'>LCD</b>与arduino连接在<b class='flag-5'>一起</b>

    如何将Xee S2C与ESP8266-01模块一起使用?

    您好,我正在尝试 Xee S2C 与 ESP8266-01 模块一起使用。我分别通过 Xbee 和 ESP 的 TX RX 引脚数据从我的 Xbee 直接发送到 ESP8266。
    发表于 06-06 07:48

    可以vxWorks 6.9 BSP与QDS一起使用吗?

    的 bootrom 编程到 X-T2080-QDS 上。 但它不起作用,我在串行终端上什么也看不到。 我可以将此 vxWorks 6.9 BSP 与此 QDS 一起使用吗? 如果不是,请告诉我 QDS
    发表于 06-02 08:03

    如何将电路连接到esp和电源以使其切换?

    你好! 我前段时间买了图片上的继电器,并尝试将它与 12V 电源和 esp8266 一起使用 - 不幸的是没有成功。接线信息不再可用 有谁知道如何将电路连接到 esp 和电源以使其
    发表于 05-25 07:17

    如何将SPC和SENT协议传感器与S32K344EVB-Q172一起使用?

    我有两个使用 SPC 和 SENT 协议的传感器。我想知道如何将这些传感器与 S32K344EVB-Q172 一起使用。 我应该使用哪些外围设备或需要安装新的驱动程序?你有什么例子可以分享吗?
    发表于 05-18 06:35

    如何将电阻转换为颜色?

    我创建了个电阻程序来计算颜色的电阻,但我不确定如何将电阻转换为颜色。你能帮我把这个放在一起吗? 例如,如果我输入 100 欧姆和 5% 的公差,则会出现棕色、黑色、棕色和金色。
    发表于 05-12 08:57

    如何将ESP8266与ESPEasy或Tasmota软件一起使用?

    上,50% 经常丢失。如果没有连接,我主要在 ESPEasy 上添加了 rebout 脚本,但这并不能解决我的问题。我找不到这些问题的原 ESP8266 与 ESPEasy 或 Tasmota 软件一起使用
    发表于 05-12 07:35

    如何将SPI与RT1020和Zephyr一起使用?

    直在尝试让 SPI 外设在 RT1020 评估上与 Zephyr 一起运行。可悲的是, 我收到个非常不明确的错误: undefined reference
    发表于 04-28 07:51