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

无锡做网站选优易信seo广州工作好吗

无锡做网站选优易信,seo广州工作好吗,陕西网站开发公司地址,网站上切换语言是怎么做的一、前言 由于需要对ADC采样性能的评估,重点在于对原波形的拟合性能。 考虑到数据的直观性,本来计划采集后使用串口导出,并用图形做数据拟合,但是这样做的效率低下,不符合实时观察的需要,于是将开发板的屏幕…

一、前言

        由于需要对ADC采样性能的评估,重点在于对原波形的拟合性能。

        考虑到数据的直观性,本来计划采集后使用串口导出,并用图形做数据拟合,但是这样做的效率低下,不符合实时观察的需要,于是将开发板的屏幕用作波形模拟展示,虽然精度有所丢失,但是波形没有太大变形,有一定参考价值。

        目前开发板的版本是V3.4,主控STM32L496VET6。选择该主控的原因是adc部分的时钟是独立且可以调整的,F1和F4系列的时钟频率相对较低,最高36Mhz。

        L496可以到80Mhz,最大精度下采样率能够达到5.33Mhz,可以很大程度提高实验要求的实时性。

二、设计思路

        设计的关键在于ADC的采集方式和LCD的显示方式。

1、ADC配置

        在官方例程的框架基础上做了一些修改:

例程用的2倍分频,所以ADC时钟为40MHz,我改为了1分频,达到80MHz。其他根据自己需要修改。

通道配置部分,例程是放在了测量的时候配置,由于实时采集需要高频调用,于是我把这部分放到了初始化中,只保留了必须的部分:

例程为了可以实现任意通道的采样,所以在测量时才配置对应通道。但是要注意,初始化函数只对一个引脚做了配置,如果要测量其他通道还需要自行配置其他引脚。

时钟源可以参考CubeMX生成的代码,有多种组合方式,这里我采用最简单的,挂在系统时钟上:

2、定时器配置

       定时器就是正常配置为计数,开启溢出中断,没有使用其他功能。

        这部分没有采用定时器内置的触发ADC检测,我使用更为简单的标志位,这样便于调试和查错:

        count是测量计数,tim_flag是定时器溢出标志,用于主函数启动ADC采样。

3、led显示配置

这部分参考另一位博主的设计思路,在屏幕上建立坐标系,建立网格线:

        所有用于显示的函数都是使用官方的LCD驱动代码,要做的就是调整显示区域和颜色。

4、波形绘制

        最重要的就是波形模拟,这部分的主要思路是采集230次为一组,就是要显示的像素宽度,将每一次采集的数据保存,然后暂停定时器,处理数据,将模拟量转为电压值,找到最大最小值,刷新到屏幕,每两个相邻点之间连线,最后将计数值清零,开启定时器。

        描述的比较硬核,看代码就明白了:

if(count >= LCD_Width - 10)//如果显示的个数达到要求
{HAL_TIM_Base_Stop_IT(&TIM3_Handler);//定时器暂时关闭,先处理数据Display_Voltage_Net();	max = D_arr[0] * 3300 / 4096;min = D_arr[0] * 3300 / 4096;for(count = 0; count < LCD_Width - 10; count++)//进行最大值和最小值等处理{D_arr[count] = D_arr[count] * 3300 / 4096;//模拟量换成数字量电压,1mV为量度 if(D_arr[count] > max){max = D_arr[count];}if(D_arr[count] < min){min = D_arr[count];}}//最大值和最小值显示POINT_COLOR = BLACK;//设置画笔为黑色LCD_ShowString(0, 15, 20, 12, 12, "max");LCD_ShowNum(0, 27, max, 4, 12);LCD_ShowString(0, LCD_Height - 30 - 12, 20, 12, 12, "min");LCD_ShowNum(0, LCD_Height - 30, min, 4, 12);//显示处理for(count = 0; count < LCD_Width - 10; count++){D_arr[count] = D_arr[count] / 3300 * (LCD_Height - 20);//显示范围}//数据显示在LCD上for(count = 10; count < LCD_Width - 11; count++){//LCD_DrawLine(count + 10, LCD_Height - 10 - D_arr[count], count + 11, LCD_Height - 10 - D_arr[count + 1]);LCD_DrawLine(count, LCD_Height - 10 - D_arr[count], count + 1, LCD_Height - 10 - D_arr[count + 1]);}count = 0;//重新进行数据获取delay_ms(1000);HAL_TIM_Base_Start_IT(&TIM3_Handler);//定时器重新启动
}

三、实验结果

        根据本次实验的设计方式,实测定时器最快只能设置10微妙定时,更小的话会采样乱码,目前还没找到原因。

TIM3_Init(10 - 1, 80 - 1);//定时器3初始化 10us

        自动装载值为10,预分频80。也就是屏幕每一帧显示范围10us * 220  = 2.2毫秒,周期在该范围内的都能正常显示一帧,在频率为10khz时,波形较密集,应该是能看清的最高频率。

        读者可根据需要调整定时器的配置,低于10khz的方波都可以较清晰的模拟出来。

源码已上传至Gitee:

stm32: 一些stm32模块使用经验记录 - Gitee.comicon-default.png?t=N7T8https://gitee.com/lrf1125962926/stm32/tree/Waveform_simulation/

http://www.khdw.cn/news/46384.html

相关文章:

  • 做网站需要服务器爱站网排行榜
  • 莱芜东风街吧百度贴吧石家庄手机端seo
  • 潍坊住房与城市建设部网站代运营公司靠谱吗
  • 做网站编辑应该注意什么网站做优化一开始怎么做
  • 免费网站建站塔山双喜怎样弄一个自己的平台
  • 手机销售网站的建设seo站内优化包括
  • 谁有做网站比较厉害的全国疫情一览表
  • 信息化工作总结 网站建设友情链接系统
  • 做汽车销售要了解的网站如何做网页制作
  • 中国建筑材料集团有限公司seo指的是什么意思
  • asp网站开发软件seo平台是什么
  • 南通网站制作公司哪家好推广策划方案范文
  • 企业如何 建设好自己的网站上海比较大的优化公司
  • 电子模板天津站内关键词优化
  • 北碚免费建站哪家做得好免费的外贸网站推广方法
  • 什么叫营销型网站建网站设计
  • 深圳做网站开发nba排名西部和东部
  • 网站建设销售seo网站推广优化就找微源优化
  • 深圳专业高端网站建设网站免费制作
  • php网站投票源码国外搜索引擎优化
  • 电商网站合作投放广告找什么平台
  • 摄影化妆艺术学校网站源码百度站长平台链接提交
  • 网站如何运作seo咨询河北
  • 免费公网网站建设信息流优化师怎么入行
  • 广州注册公司迁到佛山可以吗seo关键词排名优化哪家好
  • 做网站用什么框架好网站制作公司咨询
  • 网站建设思路搜索引擎优化的内容包括
  • 怎么夸一个网站做的好看重要新闻
  • 东莞建设网站公司简介松原今日头条新闻
  • 厦门长实建设有限公司网站百度指数移动版