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

南城网站建设公司策划上海网站排名优化公司

南城网站建设公司策划,上海网站排名优化公司,机械网站 英文,osCommerce购物网站架设全攻略本次实现的功能为单片机DAC输出一个正弦波#xff0c;然后ADC定时采样用DMA输出#xff0c;最后对DAC输出的波形进行FFT。单片机STM32F103ZET6内部时钟一、配置ADCADC端口为PA1#xff0c;采用DMA输出#xff0c;定时器3触发定时器时钟64M#xff0c;分频后为102.4KHzADC采…本次实现的功能为单片机DAC输出一个正弦波然后ADC定时采样用DMA输出最后对DAC输出的波形进行FFT。单片机STM32F103ZET6内部时钟一、配置ADCADC端口为PA1采用DMA输出定时器3触发定时器时钟64M分频后为102.4KHzADC采样时间为102.4KHz/1001.024KHz二、配置DACDAC端口PA4DMA传输定时器6定时器时钟64M分频后为1MHz三、配置DSP四、配置时钟四、代码注意生成的代码里初始化中DMA要在ADC之前FFT需要#include arm_math.h头文件需添加include在define后面补全USE_HAL_DRIVER,STM32F103xE,ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING,__FPU_PRESENT1main中加入ADC、DAC与FFT代码uint16_t ad_value; uint16_t adc_buffer[1] {0};HAL_TIM_Base_Start(htim3); HAL_ADC_Start_DMA(hadc1,(uint32_t *)adc_buffer,1);HAL_TIM_Base_Start(htim6); SineWave_Data(n,DualSine12bit,1.6); HAL_DAC_Start_DMA(hdac,DAC_CHANNEL_1,(uint32_t *)DualSine12bit,n,DAC_ALIGN_12B_R);arm_cfft_radix4_instance_f32 scfft; //FFT对应结构体变量 arm_cfft_radix4_init_f32(scfft,fft_adc_n,0,1); //初始化scfft结构体设置FFT相关参数SineWave_Data是产生正弦波的点子函数#include math.h #define n 100 uint16_t DualSine12bit[n]; //num:要在一个正弦波中采集多少点 //*D:创建的一个数组用来存放正弦波各个点的数值的 //U:输出电压的峰值(0~1.5V) //Pi:3.1415926 自己定义 void SineWave_Data( uint16_t num,uint16_t *D,float U) {uint16_t i;for( i0;inum;i){D[i](uint16_t)((U*sin(( 1.0*i/(num-1))*2*3.14159265358979)U)*4095/3.3);} }FFT定义#define fft_adc_n 1024 // 采1024个点 uint16_t i; float adc_data[fft_adc_n*2]{0}; // 存ADC值 float fft_in_adc_data[fft_adc_n*2]{0}; // FFT输入实部是ADC值虚部补0 float fft_out_adc_data[fft_adc_n]{0}; // FFT输出/*********************************************************************Name : FFT_deal0(short int *data, float *fft_in,int data_length)Funcation 对波形数据进行补零操作Parameter : short int *data 波形信号float *fft_in 输入信号信号长度应是输出信号的2倍int data_length 输出信号长度与波形信号长度保持一致Return 无 ********************************************************************/ void FFT_deal0(float *data, float *fft_in,int data_length) {for(int i 0;i data_length;i){fft_in[2*i] data[i];fft_in[2*i1]0;} }在ADC回调函数中加入标志位void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {ad_flag1; }主函数        while(ifft_adc_n) //等待1024个点{if(ad_flag1){i;ad_flag0;ad_valueHAL_ADC_GetValue(hadc1);adc_data[i]ad_value;}}for(i0;ifft_adc_n;i) //打印采集到得ADC值{printf(%.2f\r\n,adc_data[i]);}//FFTFFT_deal0(adc_data,fft_in_adc_data,fft_adc_n); //对采集后的数据进行补0补足虚部arm_cfft_radix4_f32(scfft,fft_in_adc_data); //FFT计算基4arm_cmplx_mag_f32(fft_in_adc_data,fft_out_adc_data,fft_adc_n); //把计算结果复数求模得幅值 printf(ffffffffffffffffffff\r\n);//打印FFT输出for(i0;ifft_adc_n;i){fft_out_adc_data[i]fft_out_adc_data[i]*0.0008056640625;printf(%.2f\r\n,fft_out_adc_data[i]);}while(1);将采集到得ADC放入Excel打印出来波形频率50Hz1.024KHz采样频率采集1024个点刚好50个波形FFT分析后得波形可以看到频率为50左右还是比较精准的
http://www.hkea.cn/news/14351226/

相关文章:

  • 网站 302重定向 备案wordpress用户积分
  • 备案 网站信息 备注上海阔达网站建设公司
  • 企业网站建设教程 pdf新泰网页设计
  • 织梦做网站要多长时间wordpress搭建个人博客linux
  • 免费的网站建造wordpress主题摘要字数
  • 好看响应式网站模板深圳推广不动产可视化查询
  • 微信公众号开发网站建设建站公司获客成本
  • 高校校园网站建设项目的要求柳州柳北建设局网站
  • 网站建设丶金手指花总13镇江seo快速排名
  • 制作电商网站google开户
  • 创建大型网站微信公众号登录wordpress网站
  • 哪家网站建设公司比较好如何做一名合格的网站人
  • 河南省城乡和住房建设厅网站首页胶州网站搭建公司
  • 学包装设计网站市场营销渠道
  • 订货网站建设中国建筑集团网站
  • 太原企业网站排名网站维护报价表
  • 自己网站做搜索引擎优化有什么兼职做it的网站
  • 网站上传权限问题网站开发公司 郑州
  • 广州番禺网站推广电子商务网站建设问题
  • 网站建设与制作河南春辉建设集团官方网站
  • 做网站 商标分类最新新闻事件今天
  • 电影网站建设视频教程网站备案 个体工商户
  • 网站建设与开发的论文网上购物平台哪个好
  • dz论坛可以做招聘网站做图有什么网站
  • 左侧导航网站wordpress模板UI
  • dede网站模板替换网站开发文档源码
  • 网站内容策划阿里巴巴国际站买家入口
  • 宜昌微网站建设个人站长网站
  • 做网站怎么合并单元格sharepoint做网站
  • 网站维护机构Windows wordpress搭建