找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 880|回复: 4
打印 上一主题 下一主题
收起左侧

怎么把ADS1248采集到的数据发送出去?

[复制链接]
跳转到指定楼层
楼主
ID:792635 发表于 2023-7-10 17:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

将采集到的电流放在Var->ADS1248_CON1.Result[0]中,电压放在Var->ADS1248_CON1.Result[3]中(电压暂时不用管),想通过usartSendData(Var->ADS1248_CON1.Result[0],(Var->ADS1248_CON1.Result[3]))函数在一帧里发送,下面是usartSendData函数

const unsigned char header[2]  = {0x55, 0xaa};
const unsigned char ender[2]   = {0x0d, 0x0a};

void usartSendData(unsigned int current, unsigned int voltage)
{
        // 协议数据缓存数组
        unsigned char buf[10] = {0};
        int i, length = 0;


        // 设置消息头
        for(i = 0; i < 2; i++)
                buf[ i] = header[ i];                      // buf[0] buf[1]

        // 设置采集数据长度与采集值
        length = 4;
        buf[2] = length;     // buf[2]

        // 将result[0]的电流值存储到buf数组的第4、5位
        buf[3] = (current >> 8) & 0xFF;  // 高位
        buf[4] = current & 0xFF;         // 低位


        // 将result[3]的电压值存储到buf数组的第6、7位

        buf[5] = (voltage >> 8) & 0xFF;  // 高位
        buf[6] = voltage & 0xFF;         // 低位


        // 设置校验值、消息尾
        buf[3 + length] = getDataSum(buf, 7);  // buf[7]
        buf[3+ length + 1] = ender[0];              // buf[8]
        buf[3+ length + 2] = ender[1];              // buf[9]

        //发送字符串数据
        USART_Send_String(buf,sizeof(buf));

接收到的电流不对,而且几乎一直是一个固定的数,请问大家是哪里出错了?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-7-10 18:11 | 只看该作者
你这是32位单片机,int是4字节的,你当2字节的了。
回复

使用道具 举报

板凳
ID:792635 发表于 2023-7-10 20:22 | 只看该作者
Hephaestus 发表于 2023-7-10 18:11
你这是32位单片机,int是4字节的,你当2字节的了。

那是应该把电流和电压原本的占2个字节改成占4个字节吗
回复

使用道具 举报

地板
ID:883242 发表于 2023-7-10 23:40 | 只看该作者
15547989435 发表于 2023-7-10 20:22
那是应该把电流和电压原本的占2个字节改成占4个字节吗

通讯协议不能改,你就要把current改成2字节的。

如果你可以改协议,那就改呗。
回复

使用道具 举报

5#
ID:792635 发表于 2023-7-11 10:29 | 只看该作者
Hephaestus 发表于 2023-7-10 23:40
通讯协议不能改,你就要把current改成2字节的。

如果你可以改协议,那就改呗。

我现在的问题是发送个设定好的值就可以正常发送,但发送Var->ADS1248_CON1.Result[0]里的值发送不了,这是什么原因
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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