智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 笑而不语
打印 上一主题 下一主题

和大家分享下如何使用visualscope,同时也又有些问题请教

  [复制链接]

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
84
威望
52
贡献
20
兑换币
22
注册时间
2015-4-18
在线时间
6 小时
毕业学校
湖南大学
1#
发表于 2015-4-24 15:07:08 | 显示全部楼层
huang91 发表于 2014-2-22 21:25
选 crc
下位机发送代码

unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
char *Buf还有CRC_CNT是要在主函数里设置好变量么?设置为多少呢?这个函数返回值代表什么呢?求解答

回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
84
威望
52
贡献
20
兑换币
22
注册时间
2015-4-18
在线时间
6 小时
毕业学校
湖南大学
2#
发表于 2015-5-7 22:01:06 | 显示全部楼层
guowei111 发表于 2015-5-6 15:53
你好,我最近需要用visualscope显示数据,你调出来了吗?新手求指导

/*示波器输出*/
//示波器冗余校验码产生函数
uint16 CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
{
    unsigned short CRC_Temp;
    unsigned char i,j;
    CRC_Temp = 0xffff;

    for (i=0;i<CRC_CNT; i++){      
        CRC_Temp ^= Buf;
        for (j=0;j<8;j++) {
            if (CRC_Temp & 0x01)
                CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
            else
                CRC_Temp = CRC_Temp >> 1;
        }
    }
    return(CRC_Temp);
}
//示波器显示函数
void OutPut_Data()
{
  int temp[4] = {0};
  unsigned int temp1[4] = {0};
  unsigned char databuf[10] = {0};
  unsigned char i;
  unsigned short CRC16 = 0;
  for(i=0;i<4;i++)
   {

    temp  = (int16)OutData;
    temp1 = (uint16)temp;

   }

  for(i=0;i<4;i++)
  {
    databuf[i*2]   = (int8)(temp1%256);
    databuf[i*2+1] = (int8)(temp1/256);
  }

  CRC16 = CRC_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;

  for(i=0;i<10;i++)
  uart_putchar(UART0,databuf);
}



补充内容 (2015-5-7 22:18):
for(i=0;i<4;i++)
   {
   
    temp  = (int16)OutData;
    temp1 = (uint16)temp;
   
   }
前面那里显示的有问题,补充一下。OutData[]自己定义一下,例如OutData[1]=x表示示波器2通道输出变量x
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-19 05:46 , Processed in 0.039781 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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