智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 776|回复: 4
打印 上一主题 下一主题

visual scope

[复制链接]

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
跳转到指定楼层
1#
发表于 2018-1-31 18:29:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
visual scope 怎样用,哪位知道,谢谢
回复

使用道具 举报

0

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
666
威望
331
贡献
199
兑换币
224
注册时间
2017-11-2
在线时间
68 小时
2#
发表于 2018-1-31 22:15:40 | 只看该作者
如果选择CRC16模式的话,一共用到两个函数,一个是CRC_CHECK,一个是OutPut_Data,在OutPut_Data里调用CRC_CHECK并把想要发的数据用串口发送就好了,下面是这两个函数:
/************************CRC检验函数************************************/
unsigned short 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[i];
        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);
}
/****************************输出符合协议的数据*************************/
//参数*OutData为需要显示的数字,长度为4
void OutPut_Data(int* OutData)
{
  int temp[4] = {0};
  unsigned int templ[4] = {0};
  unsigned char databuf[10] = {0};
  unsigned char i;
  unsigned short CRC16 = 0;
  for(i = 0; i < 4; i++)
  {       
          temp[i] = (int)(OutData+i);
          templ[i] = (unsigned int)temp[i];
  }
  for(i = 0; i < 4; i++)
  {
          databuf[i*2]  = (unsigned char)(templ[i]%256);
          databuf[i*2+1]= (unsigned char)(templ[i]/256);
  }

  CRC16 = CRC_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;
  for(i = 0; i < 10; i++)
  {
   //uart_putchar(UARTn,(char)databuf[i]);
    Uart_SendChar(UARTR2,databuf[i]);
  }
}
回复 支持 反对

使用道具 举报

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
3#
 楼主| 发表于 2018-2-1 11:13:18 | 只看该作者
谢谢,能告诉怎样添加到IAR工程中吗
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
666
威望
331
贡献
199
兑换币
224
注册时间
2017-11-2
在线时间
68 小时
4#
发表于 2018-2-1 14:11:53 | 只看该作者
看见 发表于 2018-2-1 11:13
谢谢,能告诉怎样添加到IAR工程中吗

新建一个.c文件,把函数加到里面,然后在想调用的地方调用的可以了
回复 支持 反对

使用道具 举报

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
5#
 楼主| 发表于 2018-2-1 14:44:16 | 只看该作者
哦,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 12:12 , Processed in 0.125307 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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