当前位置: 首页 > wzjs >正文

江门网站建设公司哪家好网站开发就业怎么样

江门网站建设公司哪家好,网站开发就业怎么样,如何破解wordpress,大连百度关键词优化【萤火工场GD32VW553-IOT开发板】ADC电压的LabVIEW采集 🔋 本文介绍了萤火工场 GD32VW553-IOT 开发板通过串口中断查询的方式采集 ADC 电压及温度转换数据,并进一步结合LabVIEW上位机实现数据自动采集和实时监测的项目设计。 项目介绍 串口中断查询&a…

【萤火工场GD32VW553-IOT开发板】ADC电压的LabVIEW采集

🔋 本文介绍了萤火工场 GD32VW553-IOT 开发板通过串口中断查询的方式采集 ADC 电压及温度转换数据,并进一步结合LabVIEW上位机实现数据自动采集和实时监测的项目设计。

项目介绍

  • 串口中断查询,获取 ADC 电压数据,以及温度转换数据 🍦
  • LabVIEW 上位机程序设计 🥧
  • 开发板结合 LabVIEW上位机实现 ADC 电压和温度数据采集、实时演化曲线的显示、数据保存 🍫

硬件连接

  • RXD -> PB15
  • TXD -> PA8
  • 3V3 -> VCC
  • GND -> GND

示意图

在这里插入图片描述

实物连接

在这里插入图片描述

工程创建

  • 运行 Embedded Builder 软件,File - New - Project ...

  • 选择 C/C++ - C Project - 点击 Next ;

  • 设置工程名称、工程路径,目标设备选择 GD32VW553HMQ7 ,点击 Finished 完成工程创建。

流程图

在这里插入图片描述

工程代码

📊 打开 src/main.c 文件,修改代码如下

#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>
#include "main.h"
#include "gd32vw553h_eval.h"uint16_t adc_value[2]; // storage adc valuevoid led_spark(void){}void rcu_config(void);
void adc_config(void);
void dma_config(void);
void usart_config(void);int main(void)
{/* system clocks configuration */rcu_config();/* systick configuration */systick_config();/* DMA configuration */dma_config();/* ADC configuration */adc_config();/* USART configuration */gd_eval_com_init(EVAL_COM0);usart_config();while (1){}
}/*!\brief      USART interrupt function\param[in]  none\param[out] none\retval     none
*/
void USART0_IRQHandler(void) {static uint8_t comdata[3];static uint8_t com_index = 0;float temperature;float vref_value;if (usart_interrupt_flag_get(USART0, USART_INT_FLAG_RBNE)){uint8_t data = usart_data_receive(USART0); // 读取数据comdata[com_index++] = data;if (com_index >= 3){if(comdata[0] == 0x55){if(comdata[1] == 0xAA){switch(comdata[2]){case 0x10:while (!adc_flag_get(ADC_FLAG_EOC));vref_value = (adc_value[1] * 3.3f / 4096);printf("%5.3f\r\n", (double)vref_value);break;case 0x11:while (!adc_flag_get(ADC_FLAG_EOC));temperature = (1.43f - adc_value[0]*3.3f/4096) * 1000 / 4.3f + 25;printf("%2.2f\r\n", (double)temperature);break;}}}com_index = 0;}}
}/*!\brief      Enable USART interrupt\param[in]  none\param[out] none\retval     none
*/
void usart_config(void)
{usart_interrupt_enable(USART0, USART_INT_RBNE); // 接收缓冲区非空中断eclic_irq_enable(USART0_IRQn, 0, 0); // 使能 USART0 中断usart_enable(USART0);
}/*!\brief      configure the different system clocks\param[in]  none\param[out] none\retval     none
*/
void rcu_config(void)
{/* enable ADC1 clock */rcu_periph_clock_enable(RCU_ADC);/* enable DMA clock */rcu_periph_clock_enable(RCU_DMA);/* config ADC clock */adc_clock_config(ADC_ADCCK_PCLK2_DIV6);
}
/*!\brief      configure the DMA peripheral\param[in]  none\param[out] none\retval     none
*/
void dma_config(void)
{/* ADC_DMA_channel configuration */dma_single_data_parameter_struct dma_single_data_parameter;/* ADC DMA_channel configuration */dma_deinit(DMA_CH0);/* initialize DMA single data mode */dma_single_data_parameter.periph_addr = (uint32_t)(&ADC_RDATA);dma_single_data_parameter.periph_inc = DMA_PERIPH_INCREASE_DISABLE;dma_single_data_parameter.memory0_addr = (uint32_t)(&adc_value);dma_single_data_parameter.memory_inc = DMA_MEMORY_INCREASE_ENABLE;dma_single_data_parameter.periph_memory_width = DMA_PERIPH_WIDTH_16BIT;dma_single_data_parameter.direction = DMA_PERIPH_TO_MEMORY;dma_single_data_parameter.number = 2;dma_single_data_parameter.priority = DMA_PRIORITY_HIGH;dma_single_data_mode_init(DMA_CH0, &dma_single_data_parameter);dma_channel_subperipheral_select(DMA_CH0, DMA_SUBPERI0);/* enable DMA circulation mode */dma_circulation_enable(DMA_CH0);/* enable DMA channel */dma_channel_enable(DMA_CH0);
}
/*!\brief      configure the ADC peripheral\param[in]  none\param[out] none\retval     none
*/
void adc_config(void)
{/* ADC contineous function enable */adc_special_function_config(ADC_CONTINUOUS_MODE, ENABLE);/* ADC scan mode disable */adc_special_function_config(ADC_SCAN_MODE, ENABLE);/* ADC data alignment config */adc_data_alignment_config(ADC_DATAALIGN_RIGHT);/* ADC channel length config */adc_channel_length_config(ADC_ROUTINE_CHANNEL, 2U);/* ADC regular channel config */adc_routine_channel_config(0U, ADC_CHANNEL_9, ADC_SAMPLETIME_55POINT5);adc_routine_channel_config(1U, ADC_CHANNEL_10, ADC_SAMPLETIME_55POINT5);/* ADC trigger config */adc_external_trigger_config(ADC_ROUTINE_CHANNEL, EXTERNAL_TRIGGER_DISABLE);adc_tempsensor_vrefint_enable();/* ADC DMA function enable */adc_dma_request_after_last_enable();adc_dma_mode_enable();/* enable ADC interface */adc_enable();delay_1ms(1U);/* ADC software trigger enable */adc_software_trigger_enable(ADC_ROUTINE_CHANNEL);
}

🍟 保存代码,编译工程,生成 Debug 文件夹,右键 bin 文件 - Show In - System Explorer ,打开文件夹并获得 *.bin 固件。

固件上传

📡 采用 ISP 方式上传固件至开发板。

  • 将 BOOT0 拉高,USB 转 TTL 工具连接开发板;

  • 运行 GD32 All-In-One Programmer 软件;

  • 设备端口选择、串口参数设置,设备名称选择 GD32VW553HMQ7 ,点击 Connect 按钮(若连接失败,则短按复位键);

  • 加载镜像固件、设置起始地址,点击 Download 按钮;

  • 待加载完成,跳帽恢复,将 BOOT0 拉低;

  • 短按 RST 复位键,程序开始运行。

效果演示

📡 打开串口调试助手,配置串口参数,打开串口,即可观察到串口输出文本。

动态演示

在这里插入图片描述

LabVIEW 上位机

🔎 LabVIEW 上位机的设计包括 前面板程序框图 两部分。

🧵 结合开发板程序可知,

  • 当串口接收到 55 AA 10 指令时,反馈 ADC 电压数据;
  • 当串口接收到 55 AA 11 指令时,反馈 ADC 温度数据。

🔮 由此通信协议,设计串口上位机程序,每隔 500 毫秒查询一次数据,并绘制演化曲线,实时监测电压和温度变化情况。

前面板

💡 前面板包括串口配置、仪表盘、演化曲线、保存路径、数组等模块。

在这里插入图片描述

操作流程
  • 选择串口对应的设备端口号,设置波特率;
  • 点击左上角箭头按钮,运行程序,设置数据采集保存文档的路径;
  • 点击 START 按钮,开始采集数据和实时监测 ADC 电压和温度演化曲线;
  • 采集完成后,点击 Stop 按钮结束,同时数据保存至预设路径;
  • 点击 Terminate 按钮终止和退出程序。

程序框图

page 1

在这里插入图片描述

page 2

在这里插入图片描述

效果

🛠️ 程序开始运行后,左侧仪表盘显示实时采集的电压和温度数值,曲线绘制相应的数据点和演化曲线。

在这里插入图片描述

数据保存

🎨 数据保存为 dat 格式,其中第 1 列为日期时刻、第 2 列为 ADC 电压值、第 3 列为温度值。

在这里插入图片描述

总结

🔋 本文介绍了萤火工场 GD32VW553-IOT 开发板通过串口中断查询的方式采集 ADC 电压及温度转换数据,并进一步结合LabVIEW上位机实现数据自动采集和实时监测的项目设计,为相关嵌入式开发和自动化应用设计提供了参考。


文章转载自:

http://uwo68vvF.mfbzr.cn
http://FaF84brL.mfbzr.cn
http://rfbtwjJo.mfbzr.cn
http://rKncg32S.mfbzr.cn
http://Tw6idqtf.mfbzr.cn
http://O0vq1TVx.mfbzr.cn
http://Ir2zIaUA.mfbzr.cn
http://4KgQhiq9.mfbzr.cn
http://3vYdnttx.mfbzr.cn
http://AEZX2R4k.mfbzr.cn
http://JSL36n6K.mfbzr.cn
http://9nU7Al9m.mfbzr.cn
http://wOjzEOVW.mfbzr.cn
http://CNA2pB9i.mfbzr.cn
http://bO9DXAFv.mfbzr.cn
http://gZrHsZ0v.mfbzr.cn
http://ZMsRJOpB.mfbzr.cn
http://dTkufr9C.mfbzr.cn
http://v3WcHyjS.mfbzr.cn
http://HCC2mbas.mfbzr.cn
http://qg6S1aWo.mfbzr.cn
http://oxPbhqbU.mfbzr.cn
http://IaxSLQIr.mfbzr.cn
http://coQmDFBA.mfbzr.cn
http://ajrSs5DY.mfbzr.cn
http://oi8RWPXD.mfbzr.cn
http://oA303r8h.mfbzr.cn
http://t7jl7cuL.mfbzr.cn
http://BCeiOD87.mfbzr.cn
http://VQ0cV4wM.mfbzr.cn
http://www.dtcms.com/wzjs/672197.html

相关文章:

  • 如何建立购物网站宁波网站优化找哪家
  • 网站开发专业有什么工作中国建设官网首页
  • 企业 北京 响应式网站巨量算数关键词查询
  • 怎样做百度推广网站鹤壁市城乡一体化示范区规划图
  • wordpress站点取名制作公司网站需要购买域名和服务器吗
  • 做抛物线的网站wordpress自定义404页面
  • 网站导航下拉菜单代码电商网站设计趋势
  • 怎样用网站模板做网站章丘市网站建设seo
  • 衡阳网站建设在中国可以做国外的域名网站吗
  • 什么样的企业要做网站做企业官网费用
  • 发果怎么做视频网站网站开发培训要多少钱
  • 网站用户 分析网站销售系统怎么做
  • 福建自己建设网站新闻发布会主持词
  • 手机网站建设深圳南昌网站建设公司价位
  • 网站公司怎么找客户4399网页游戏官网
  • 企业网站模版紫金网站建设
  • 百度一下浏览器下载安装seo常见的优化技术
  • 免费的网站平台做母婴育儿类网站好做seo排名吗
  • 网站导航怎么做的淘宝上的网站建设可信
  • 网站建设中通知如何用wordpress搭建企业网站
  • 网站留言短信提醒高权重域名做网站
  • 商城型企业网站的功能dede建设网站
  • 163企业邮箱申请佛山网站优化运营
  • 购物网站欢迎页面怎么设计宁波品牌网站推广优化公司
  • 北京龙鼎网站建设公司深圳软件公司平均薪资排行榜
  • 网站营销策划公司广东省最差的三座城市
  • 网站相对路径 .怎么在百度发广告
  • 网站建设排名优化公司南县建设局网站
  • 网站开发项目经理招聘wordpress数据连接失败1223
  • 中国中小企业网站建设现状wordpress上手需要多久