关于MSP430f149数据存储

[复制链接]
 楼主| 小白咚 发表于 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吗
cemaj 发表于 2017-9-12 22:05 | 显示全部楼层
使用usb可以快速发送数据。
cemaj 发表于 2017-9-12 22:06 | 显示全部楼层
小白咚 发表于 2017-9-12 16:29
N是1000次的话,那就是要1K字节吗,RAM的存储容量是2KB吗

楼主打包和顺序发送有什么区别?
dalarang 发表于 2017-9-12 22:45 | 显示全部楼层
根据实际情况来处理,采集频率存储深度不同有不同的方法。
一般也就建议直接存在RAM内,如果采集频率比较高,按bit存可以节省很多容量。
dirtwillfly 发表于 2017-9-13 07:59 | 显示全部楼层
小白咚 发表于 2017-9-12 16:29
N是1000次的话,那就是要1K字节吗,RAM的存储容量是2KB吗

因为你采集的是0或者1,这样一个字节能存储8次io状态数据,所以只需要N/8个字节
 楼主| 小白咚 发表于 2017-9-13 08:49 | 显示全部楼层
cemaj 发表于 2017-9-12 22:06
楼主打包和顺序发送有什么区别?

就是采了1000次端口电平之后,再将这1000次数据一起发送,不是采一次发送一次,可以这样吗
 楼主| 小白咚 发表于 2017-9-13 08:50 | 显示全部楼层
dalarang 发表于 2017-9-12 22:45
根据实际情况来处理,采集频率存储深度不同有不同的方法。
一般也就建议直接存在RAM内,如果采集频率比较高 ...

是直接建一个数组存起来吗?可不可以请大神写两行程序示意以下
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++;
    }
}
 楼主| 小白咚 发表于 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

粉丝
快速回复 在线客服 返回列表 返回顶部