ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F1] 要采集实时数据该用什么方法呢?

[复制链接]
54|13
| 2018-10-11 17:29 | 显示全部楼层
楼主详细说说怎么回事啊,这么说太笼统了
 楼主 | 2018-10-11 17:34 | 显示全部楼层
每秒采集250次数据,每次27个字节,需要实时的写入SD卡。我这个应该怎么在main函数的while循环中写这个采集程序呢?
| 2018-10-11 17:37 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主 | 2018-10-11 17:40 | 显示全部楼层
我现在的方法似乎采集的有问题。while循环中的程序如下:
        if((flag&0x0a)==0x0a) {        //每次数据准备好后,产生一次中断,标志位置位
                        ADS1299_Drdy(data_count);    //该函数负责采集数据,每次27个字节
                        if(data_count==count_num)
                        {                        
                                Write_wenjian(p_filename,RBuffer_Num,cache_point);   //收集够一定数量开始写进SD卡
                                data_count=0;
                    }                        
                        flag&=(~ADS_DRDY);                 
//                        flag&=(~cache_flag);        
                }
                else if((flag&0x50)==0x50){                                                         //判断开始按键按下

                        p_filename=znFAT_CreateFilename();                                                                        
                        Create_wenjian(p_filename);                                       
                        flag|=start_flag;
                        flag&=(~create_flag);
                        flag&=(~power_start);
                        ADS1299_Start_Pin();
                        ADS1299_RDataC();
                        GPIO_SetBits(GPIOD, GPIO_Pin_6);               
                }
                else if((flag&0x06)==0x06){        
                        GPIO_ResetBits(GPIOD, GPIO_Pin_6);
                        ADS1299_Reset_Pin();
                        ADS1299_Stop_Pin();
                        cache[0]=CountNum;
                        cache[1]=CountNum>>8;
                        cache[2]=CountNum>>16;
                        cache[3]=CountNum>>24;
                        Write_wenjian(p_filename,4,cache_point);
                        znFAT_Close_File(&fileinfo);                                                
                        znFAT_Flush_FS();                        
                        flag=0x44;                        
                }
| 2018-10-11 17:45 | 显示全部楼层
实时采集最好不用查询,直接中断
 楼主 | 2018-10-11 17:48 | 显示全部楼层

你说的很是,我这个其实是用的中断做标记,然后返回主函数查询接收数据的。如果直接在中断中接收数据会导致在中断中停留过长时间,不符合中断程序原则啊
| 2018-10-11 17:53 | 显示全部楼层


通过中断,写入时间头,有变化再写下一个
| 2018-10-11 17:58 | 显示全部楼层
通过中断,写入时间头,有变化再写下一个
 楼主 | 2018-10-11 18:01 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先
| 2018-10-12 10:28 | 显示全部楼层
采集应该没偶问题 问题是 如何写入卡里 这个没有弄过
| 2018-10-12 10:46 | 显示全部楼层
楼主要采集什么数据呀
| 2018-10-12 11:02 | 显示全部楼层
用ad采集还是数字量通讯采集
| 2018-10-12 11:21 | 显示全部楼层
数据类型是什么 模拟量还是数字量
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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