怎么用定时器让ADC有一个250hz的电压

2019-07-20 14:39发布

[mw_shl_code=applescript,true]#include "sys.h"
#include "delay.h"  
#include "usart.h"   
#include "led.h"
#include "lcd.h"
#include "adc.h"
#include "key.h"  
#include "usmart.h"  
#include "sram.h"   
#include "timer.h"
int main(void)
{      
        u16 adcx;
        float temp;
        u16 shao=0;
        u32 i=0;
        Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
        delay_init(168);                        //延时初始化  
        uart_init(84,115200);                //初始化串口波特率为115200   
        LED_Init();                                        //初始化LED
        LCD_Init();                                        //初始化LCD
        Adc_Init();                                 //初始化ADC
        KEY_Init();                                        //按键初始化
        FSMC_SRAM_Init();                        //初始化外部SRAM
        usmart_dev.init(84);                //初始化USMART   
        POINT_COLOR=RED;
        LCD_ShowString(30,50,200,16,16,"Explorer STM32F4");       
        LCD_ShowString(30,70,200,16,16,"ADC TEST");       
        LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
        LCD_ShowString(30,110,200,16,16,"2014/5/6");          
        POINT_COLOR=BLUE;//设置字体为蓝 {MOD}
        LCD_ShowString(30,130,200,16,16,"ADC1_CH5_VAL:");             
        LCD_ShowString(30,150,200,16,16,"ADC1_CH5_VOL:0.000V");       

        for(i=0;i<2500;i+=2)
        {
                adcx=Get_Adc_Average(ADC_CH5,20);
                printf("%d ", adcx);                       
                shao=adcx;
                SRAMWriteBuffer(&shao,i,1);

                LED0=!LED0;
                delay_ms(4);       
        }
for(i=0;i<2500;i+=2)
        {
                  SRAMReadBuffer(&shao,i,1);
                temp=(float)shao*(3.3/4096);  
                //printf("%lf ", temp);       
        }
}

[/mw_shl_code]拜托高手们教教我怎么使用定时器写一个adc是250HZ的代码,我看了定时器的实验,但他只教怎么闪led灯,我把它改成 adcx=Get_Adc_Average(ADC_CH5,20);,但还是行不通
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
zy1234536
1楼-- · 2019-07-20 20:17
我觉得吧,如果是指以250hz的频率采集的话,采用二楼的意见用定时器中断是可以的;如果是指输出250hz的电压,那应该是DAC的事吧?你也没说输出是什么波形,这个话你就得具体波形具体分析了。下次记得把问题说清楚。
xiaoer502
2楼-- · 2019-07-20 21:25
定时器中断服务函数呢?
猪猪不会飞
3楼-- · 2019-07-21 02:10
 精彩回答 2  元偷偷看……
jermy_z
4楼-- · 2019-07-21 03:26
 精彩回答 2  元偷偷看……
shaojim12
5楼-- · 2019-07-21 06:45
大家抱歉,我没讲清楚,我要的是250hz的sampling rate,就是每一秒钟我要读到250个adc的数据
shaojim12
6楼-- · 2019-07-21 09:45
 精彩回答 2  元偷偷看……

一周热门 更多>