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

公司做网站费用南阳网站seo

公司做网站费用,南阳网站seo,江苏优质网站制作公司,临沂集团网站建设【萤火工场GD32VW553-IOT开发板】ADC电压表 🔋 介绍了萤火工场GD32VW553-IOT开发板实现 ADC 采集并实现电压值转换和串口打印的项目设计流程。 硬件连接 RXD -> PB15 TXD -> PA8 3V3 -> VCC GND -> GND 示意图 USART 💡 通过 USART0 测试…

【萤火工场GD32VW553-IOT开发板】ADC电压表

🔋 介绍了萤火工场GD32VW553-IOT开发板实现 ADC 采集并实现电压值转换和串口打印的项目设计流程。

硬件连接

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

示意图

在这里插入图片描述

USART

💡 通过 USART0 测试串口通信功能。

工程创建

  • 运行 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"void com_usart_init(void);void led_spark(void){}int main(void)
{/* initialize the COM */com_usart_init();while(1){printf("Hello World!\n\r");delay_1ms(1);}
}/*!\brief      initialize the USART configuration of the COM\param[in]  none\param[out] none\retval     none
*/
void com_usart_init(void)
{/* enable COM GPIO clock */rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable(RCU_GPIOB);/* enable USART clock */rcu_periph_clock_enable(RCU_USART0);/* connect port to USART TX */gpio_af_set(GPIOB, GPIO_AF_8, GPIO_PIN_15);/* connect port to USART RX */gpio_af_set(GPIOA, GPIO_AF_2, GPIO_PIN_8);/* configure USART Tx as alternate function push-pull */gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_15);gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_15);/* configure USART Rx as alternate function push-pull */gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_8);gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_8);/* USART configuration */usart_deinit(USART0);usart_word_length_set(USART0, USART_WL_8BIT);usart_stop_bit_set(USART0, USART_STB_1BIT);usart_parity_config(USART0, USART_PM_NONE);usart_baudrate_set(USART0, 115200U);usart_receive_config(USART0, USART_RECEIVE_ENABLE);usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);usart_enable(USART0);
}

代码参考官方 Demo 例程 GD32VW55x_Firmware_Library_V1.2.0\Examples\USART\Printf .

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

固件上传

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

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

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

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

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

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

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

效果演示

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

在这里插入图片描述

ADC电压采集

💡 在实现 USART 串口通信的基础上,进一步介绍了 ADC 采集电压数据并串口打印的项目设计。

工程创建

  • 运行 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"float temperature;
float vref_value;
uint16_t adc_value[2];void rcu_config(void);
void adc_config(void);
void dma_config(void);void led_spark(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);while(1){/* value convert */temperature = (1.43f - adc_value[0]*3.3f/4096) * 1000 / 4.3f + 25;vref_value = (adc_value[1] * 3.3f / 4096);printf("ADC Voltage: %5.3f V, Temperature: %2.2f ℃\r\n", (double)vref_value, (double)temperature);delay_1ms(500);}
}/*!\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);
}

代码参考官方 Demo 例程 GD32VW55x_Firmware_Library_V1.2.0\Examples\ADC\temperature_Vref_Vbat .

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

固件上传

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

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

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

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

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

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

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

效果演示

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

🛠️ 动态效果

在这里插入图片描述

总结

🧵 介绍了萤火工场GD32VW553-IOT开发板实现 ADC 采集并实现电压值转换和串口打印的项目设计流程,为相关应用的开发和设计提供了参考。

http://www.dtcms.com/wzjs/253702.html

相关文章:

  • 免费建站免费使用的网站上海seo推广方法
  • 自己做盗版小说网站吗常德网站建设公司
  • 网站安全维护内容网址查询网站
  • 赶集网网站建设分析海外推广代理商
  • wordpress下拉式友情链接seo范畴
  • 营销型企业网站网络公司主要做哪些
  • 百讯科技网站建设上海seo公司排名榜
  • 团购网站建设成都网站建设方案优化
  • 宁波市节约型机关建设考试网站河北网站推广
  • 企业网站平台如何做网络推广关键词调词平台哪个好
  • 将自己做的网站发布到网上农村电商平台
  • 网页设计与制作实训报告心得体会2000字上海优化seo排名
  • 做响应式网站的常用尺寸seopeixun com cn
  • 直播间网站建设做网络推广的团队
  • 合肥免费做网站全国各城市疫情高峰感染进度
  • 企业网站价格多少钱搭建网站的步骤
  • 门户网站类型百度竞价开户哪家好
  • 苏州网站开发公司兴田德润优惠吗国内真正的永久免费砖石
  • 帮人做传销网站违法吗淘宝交易指数换算工具
  • 做游戏平面设计好的素材网站有哪些四川专业网络推广
  • 企业网站建设方案对比汇报seo网络优化
  • 公安备案 交互式网站模板网站建站哪家好
  • 中天建设有限公司官方网站新手做网络销售难吗
  • 做移门的网站化学sem是什么意思
  • 做网站营业执照经营范围怎么填写seo高级优化技巧
  • 合肥专业网站建设公司哪家好网络营销方案例文
  • 用软件做的网站权限管理杭州seo顾问
  • 日本软银集团官网网站整体优化
  • 网站管理员密码忘记了自己如何做链接推广
  • wordpress 搞笑网站网站怎么做出来的