打印

关于MSP430f149数据存储

[复制链接]
667|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小白咚|  楼主 | 2017-9-12 11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用定时器设置每隔一段时间采一个IO口的电平状态,然后存起来,循环N次,然后将N次的数据打包发给PC,想问下存储环节应该存到哪里,RAM吗,然后如何打包发给PC的,感谢

相关帖子

沙发
dirtwillfly| | 2017-9-12 13:53 | 只看该作者
你的N有多大?一般不大的话定义一个数组,就可以。

使用特权

评论回复
板凳
dirtwillfly| | 2017-9-12 13:53 | 只看该作者
这样先用N/8个字节

使用特权

评论回复
地板
小白咚|  楼主 | 2017-9-12 16:29 | 只看该作者
dirtwillfly 发表于 2017-9-12 13:53
这样先用N/8个字节

N是1000次的话,那就是要1K字节吗,RAM的存储容量是2KB吗

使用特权

评论回复
5
cemaj| | 2017-9-12 22:05 | 只看该作者
使用usb可以快速发送数据。

使用特权

评论回复
6
cemaj| | 2017-9-12 22:06 | 只看该作者
小白咚 发表于 2017-9-12 16:29
N是1000次的话,那就是要1K字节吗,RAM的存储容量是2KB吗

楼主打包和顺序发送有什么区别?

使用特权

评论回复
7
dalarang| | 2017-9-12 22:45 | 只看该作者
根据实际情况来处理,采集频率存储深度不同有不同的方法。
一般也就建议直接存在RAM内,如果采集频率比较高,按bit存可以节省很多容量。

使用特权

评论回复
8
dirtwillfly| | 2017-9-13 07:59 | 只看该作者
小白咚 发表于 2017-9-12 16:29
N是1000次的话,那就是要1K字节吗,RAM的存储容量是2KB吗

因为你采集的是0或者1,这样一个字节能存储8次io状态数据,所以只需要N/8个字节

使用特权

评论回复
9
小白咚|  楼主 | 2017-9-13 08:49 | 只看该作者
cemaj 发表于 2017-9-12 22:06
楼主打包和顺序发送有什么区别?

就是采了1000次端口电平之后,再将这1000次数据一起发送,不是采一次发送一次,可以这样吗

使用特权

评论回复
10
小白咚|  楼主 | 2017-9-13 08:50 | 只看该作者
dalarang 发表于 2017-9-12 22:45
根据实际情况来处理,采集频率存储深度不同有不同的方法。
一般也就建议直接存在RAM内,如果采集频率比较高 ...

是直接建一个数组存起来吗?可不可以请大神写两行程序示意以下

使用特权

评论回复
11
dalarang| | 2017-9-13 14:12 | 只看该作者
小白咚 发表于 2017-9-13 08:50
是直接建一个数组存起来吗?可不可以请大神写两行程序示意以下

#define BUF_MAX 128     //数组大小
unsigned char buf[128];
unsigned int bufCount;  //保存的数量

void PushBuf(u8 val)//val为IO口状态,低电平为0,高电平非0
{
    if(bufCount<BUF_MAX*8)//确保数组不会越界
    {
        if(val)
            buf[bufCount/8]|=1<<(bufCount%8);
        else
            buf[bufCount/8]&=~(1<<(bufCount%8));
        
        bufCount++;
    }
}

使用特权

评论回复
12
小白咚|  楼主 | 2017-9-13 15:24 | 只看该作者
dalarang 发表于 2017-9-13 14:12
#define BUF_MAX 128     //数组大小
unsigned char buf[128];
unsigned int bufCount;  //保存的数量

(u8 val)这里是指的一个IO中的其中一位吗,就是0或1?那其它7位怎么办...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

38

帖子

0

粉丝