
要实现波形采集功能 首先我们需要使用TIM+DMA+ADC来这三个功能来完成ADC的硬件定时采集功能 采集速率为100Khz。这里仅演示功能 采集信号频率为方波和正弦波。 根据采样定理: *抽样信号的最小频率p ( t ) p(t)p(t)的频率要大于x ( t ) x(t)x(t)的最大频率的2倍 所以我们理论上的波形采集频率上限为50khz 但是实际应用过程中 为了较好的还原波形 一般只采集到10khz左右 即一个周期内采集10-8个点去还原波形。受限于C0自身的性能 也不能去做一些复杂的插值算法,所以这里仅使用低频信号进行测试 首先是定时器配置 我们需要给ADC一个触发源 来触发ADC的采集工作 48Mhz主频 PSC设置为47 ARR设置为9 得出采样频率为100Khz 同时还要勾选Tigger OUT 更新事件来通知ADC的采样时刻 ADC设置要开启DMA传输模式 触发源选择Timer1 的Trigger2 事件 其他ADC设置保持默认即可 另外还可以开启一个tim3来生成PWM信号用来测试  另外 可以用以上思路将代码实现在OLED屏幕上 使用打点函数 400Khz速度下的IIC效果预计会比串口上位机效果好很多,可以先挖个坑 以后更新下 |