OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3777|回复: 4

ADC采样正弦波信号的频率60HZ

[复制链接]

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2019-4-11
在线时间
16 小时
发表于 2019-4-11 20:56:20 | 显示全部楼层 |阅读模式
关于ADC的采样周期设置为了239.5周期,分频系数为6分频,即为12M,根据计算如果要得到60hz的频率,即采样点应为835,每两个点之间的采样间隔为20us,我写的程序是利用DMA输出采集的数据并保存在一个数组里,求得两个最高点之间的点数,我通过串口打印出来发现点数为99左右,这和835差距太大,请问各位大佬谁能帮忙解决一下

ALIENTEK MINISTM32 ADC DMA 8通道显示.zip

4.44 MB, 下载次数: 116

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2019-4-12 08:37:12 | 显示全部楼层
6分频计算72/2^6 = 1.125MHz
要弄清除 分频寄存器 与 计数分频的差别
让我们的思维驾驭在电的速度之上!
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2019-4-11
在线时间
16 小时
 楼主| 发表于 2019-4-12 21:26:22 | 显示全部楼层
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);          //使能ADC1通道时钟


        RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M
什么意思
回复 支持 反对

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-4-13 00:04:39 | 显示全部楼层
你也没说明, 是否采样一段时间,然后USART发送, 发送完再采样, 还是连续的采样, 连续的通过USART发送
如果是连续的话, 只能说你没有一点时间观念, 20us x 12bit =1.6us/bit, 加上usart的开销 = 1.6us*8/10 =1.333us/bit, 即需要 750,000bit/s的波特率 , 你的usart有这个速度么? 如果说没有的话, 漏掉数据不是很正常么?
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2019-4-11
在线时间
16 小时
 楼主| 发表于 2019-5-18 10:59:20 | 显示全部楼层
edmund1234 发表于 2019-4-13 00:04
你也没说明, 是否采样一段时间,然后USART发送, 发送完再采样, 还是连续的采样, 连续的通过USART发送
...

那怎么改呢,不太懂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 23:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表