【GD32F310开发板试用】ADC采集及串口发送

news/2024/12/5 8:03:31/

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。

GD32F310K8芯片资源介绍


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DHIyFbQt-1649929096504)(/img/bVbuyH)]

总体来说此款芯片存储空间较小,移植一些裸机程序的可玩性还是较高的。并且也能验证温度,ADC采集等性能。

开发准备


PC端:windows10
开发软件:keil4.60
开发板:GD32F310k\\_start
GD32F310系列资料下载https://aijishu.com/a/1060000000306188

部分代码简要


ADC配置
/*!\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 trigger config */adc_external_trigger_source_config(ADC_REGULAR_CHANNEL, ADC_EXTTRIG_REGULAR_NONE);/* ADC data alignment config */adc_data_alignment_config(ADC_DATAALIGN_RIGHT);/* ADC channel length config */adc_channel_length_config(ADC_REGULAR_CHANNEL, 1U);/* ADC regular channel config */adc_regular_channel_config(0U, BOARD_ADC_CHANNEL, ADC_SAMPLETIME_55POINT5);adc_external_trigger_config(ADC_REGULAR_CHANNEL, ENABLE);/* 16 times sample, 4 bits shift */adc_oversample_mode_config(ADC_OVERSAMPLING_ALL_CONVERT, ADC_OVERSAMPLING_SHIFT_4B, ADC_OVERSAMPLING_RATIO_MUL16);adc_oversample_mode_enable();/* enable ADC interface */adc_enable();delay_1ms(1U);/* ADC calibration and reset calibration */adc_calibration_enable();
}
串口配置
/*!\brief      configure COM port\param[in]  com: COM on the boardonly one parameter can be selected which is shown as below:\arg        EVAL_COM: COM on the board\param[out] none\retval     none
*/
void gd_eval_com_init(uint32_t com)
{uint32_t COM_ID = 0U;if(EVAL_COM == com){COM_ID = 0U;}else{}/* enable COM GPIO clock */rcu_periph_clock_enable(EVAL_COM_GPIO_CLK);/* enable USART clock */rcu_periph_clock_enable(COM_CLK[COM_ID]);/* connect port to USARTx_Tx */gpio_af_set(EVAL_COM_GPIO_PORT, EVAL_COM_AF, COM_TX_PIN[COM_ID]);/* connect port to USARTx_Rx */gpio_af_set(EVAL_COM_GPIO_PORT, EVAL_COM_AF, COM_RX_PIN[COM_ID]);/* configure USART Tx as alternate function push-pull */gpio_mode_set(EVAL_COM_GPIO_PORT, GPIO_MODE_AF, GPIO_PUPD_PULLUP, COM_TX_PIN[COM_ID]);gpio_output_options_set(EVAL_COM_GPIO_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, COM_TX_PIN[COM_ID]);/* configure USART Rx as alternate function push-pull */gpio_mode_set(EVAL_COM_GPIO_PORT, GPIO_MODE_AF, GPIO_PUPD_PULLUP, COM_RX_PIN[COM_ID]);gpio_output_options_set(EVAL_COM_GPIO_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, COM_RX_PIN[COM_ID]);/* USART configure */usart_deinit(com);usart_baudrate_set(com, 115200U);usart_word_length_set(USART0, USART_WL_8BIT);usart_stop_bit_set(USART0, USART_STB_1BIT);usart_parity_config(USART0, USART_PM_NONE);usart_receive_config(com, USART_RECEIVE_ENABLE);usart_transmit_config(com, USART_TRANSMIT_ENABLE);usart_enable(com);
}

ADC精度测试


测试方式及接线

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fo4OICjh-1649929096505)(/img/bVbuyO "image.png")]

采用电位计分压直接接入ADIN1(PA1)。电压信号经过RC低通滤波器或者有源低通滤波器再输入ADC输入端可能会更好。

AD量化值显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vmzkg3HG-1649929096505)(/img/bVbuyP "image.png")][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O39DsC4O-1649929096506)(/img/bVbuyQ "image.png")]
在这里插入图片描述

总结:此配置下,ADC采集只有一位的跳动。

电压值显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zd8WND8G-1649929096506)(/img/bVbuyR "image.png")][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGYL3etU-1649929096507)(/img/bVbuyS "image.png")]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pcHOyYvG-1649929096507)(/img/bVbuyT "image.png")]
在这里插入图片描述

总结:此配置下,ADC采集电压跳动量小于1mV。

使用总结


此次GD32F310试用的代码均为官方提供,不同芯片系列间的移植也很方便!对于12位ADC的性能也很满意。因此立马采购了GD32F407芯片替代STM32F407,初步使用情况为引脚兼容,代码几乎没做更改(正在比对参数,看是否需要修改原代码),并同步温度性能测试。


http://www.ppmy.cn/news/574606.html

相关文章

【GD32F310开发板试用】Keil编程环境配置、避坑

首先很感谢极术社区还有兆易创新开展的这次测评活动。 板子拿到手以后第一感觉是简约,板子很简约,主体颜色是白色,电阻电容排列很稀疏,不像平时在淘宝买的板子,原件排布密密麻麻,很轻巧。 电源和下载是采用…

【GD32F310开发板试用】驱动静态LED数码管

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 收到开发板有几天,今天开始测试开发板,先从GPIO的应用开始,来驱动静态LED数据显示。 一、硬件连接图 1.1、开发板使用PA0~PA7 …

【GD32F310开发板试用】ADC 规则组连续采样

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 ADC 简介及特点 器件中集成了一个 12 位 2.86 MSPS 多通道 ADC。 一共有19个多路复用通道:16个外部通道,1个内部温度传感器通道(VSENSE)、1 通…

【GD32F310开发板试用】利用I2C接口通过温湿度传感器HDC1080读取当前环境温湿度

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 非常感谢极术社区和GigaDevice给我机会可以进行GD32F310G-START开发板的试用,也感谢极术小姐姐,物流非常给力。 我拿到的开发板实…

【GD32F310开发板试用】浅谈IAR环境下GD32的插件功能

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 首先很感谢极术社区此次的活动,之前没有接触过GD32的芯片,在工作中一直使用的ST,NXP和TI的芯片,目前由于缺芯问题,加上…

【GD32F310开发板试用】IAP升级实验

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 什么是IAP IAP( In Application Programming)即在应用编程,可以让用户使用自己的程序对MCU的中的运行程序进行更新,而…

【GD32F310开发板试用】入门向-usart的使用及printf函数的重定向

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 摘要 首先感谢极术社区和兆易创新公司给我这次机会,入选GD32F310K-START开发板的测评和试用。本开发板板载一块GD32F310K8T6芯片,该芯片是ARM…

C8051汇编语言递归,基于C8051F310单片机的LED灯控制器汇编语言程序调试

加 深对51单片机及其接口电路的理解,掌握定时/计数器、中断的应用编程技术及程序的调试方法。 2.实验内容 利用C8051F310单片机设计一个倒计时定时器,功能要求如下: 模式1:基本功能 主要技术指标要求如下: 1. 定时时间为9秒,定时精度为1秒 。 2. 在LED数码管上显示剩余…