搜索
bottom↓
回复: 7

分享一个用VC做的LRC校验计算器

[复制链接]

出0入0汤圆

发表于 2015-6-24 18:53:31 | 显示全部楼层 |阅读模式
http://pan.baidu.com/s/1o6mS7Ia
为什么不能上传附件呢?谁帮忙传一下

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入4汤圆

发表于 2015-6-24 19:41:37 | 显示全部楼层
我帮楼主传上来了。

见附件:


但是,我在WIN8.1 64位系统下,不能运行,不知道怎么回事。 请楼主下载验证一下,是不是我下载的文件有问题,如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2015-6-24 19:49:31 | 显示全部楼层
本帖最后由 oldmen 于 2015-6-24 19:54 编辑
huchunlei 发表于 2015-6-24 19:41
我帮楼主传上来了。

见附件:


在win7 32位系统下运行正常。

下载的文件没有问题

下面是LRC校验的fun
unsigned char LRC_Check(unsigned char *data,unsigned char length)
{
        unsigned char i;
        unsigned char k;
        unsigned char result;
        unsigned char lrcdata[17];

        for(i=1;i<length+1;i++)
        {
                if(data>0x40)
                        lrcdata=data-0x41+10;
                else
                        lrcdata=data-0x30;
        }
        for(i=0;i<length/2;i++)
        {
                k+=(lrcdata[2*i]*16+lrcdata[2*i+1]);
        }
        k=k%256;
        k=256-k;
       
        result=k%256;
        return result;
}

出0入4汤圆

发表于 2015-6-24 19:55:05 | 显示全部楼层
我有个虚拟机,用Vmware player 做的, 装的是 WIN7 32位,也不行,一样的提示,估计要安装 VC 的运行环境吧。   我正好这两天要用 VC#, 一会我装个 Visual studio 2012, 然后再测试下, 有结果了在来补充。

出0入0汤圆

 楼主| 发表于 2015-6-24 19:57:30 | 显示全部楼层
顺便问个问题0xfd 转换成“FD”最简洁的方法是什么

出0入0汤圆

发表于 2015-6-24 20:08:00 | 显示全部楼层
oldmen 发表于 2015-6-24 19:57
顺便问个问题0xfd 转换成“FD”最简洁的方法是什么

void fun( char *bufin, char *bufout)
{
        if((NULL == bufin) || (NULL == bufout)) {
                return ;
        }
        butout[0] = 'F';
        bufout[1] = 'D';
}
这样可以么?

出0入4汤圆

发表于 2015-6-24 20:14:38 | 显示全部楼层
oldmen 发表于 2015-6-24 19:57
顺便问个问题0xfd 转换成“FD”最简洁的方法是什么

这个问题,最简洁的方式,我也不知道。  因为 VC我不懂, 而VC# 是基于.NET 的, 有现成的转换函数可以使用,比如 BitConverter.ToString(), VC#我用的也不多。    而我平时用的多的是单片机下用C语言, C语言的这种转换,我一般用 sprintf,但是sprintf耗内存和堆栈多些,也不算是最简洁的方法。

出0入0汤圆

发表于 2015-6-24 21:14:00 | 显示全部楼层
huchunlei 发表于 2015-6-24 20:14
这个问题,最简洁的方式,我也不知道。  因为 VC我不懂, 而VC# 是基于.NET 的, 有现成的转换函数可以使 ...

unsigned char const asc_tab[] = {'0','1','2','3','4','5','6','7','8','9','A','B','c','D','E','F'};

void hex2asc(unsigned char *dst, unsigned char *src, int len)
{
        unsigned char dat;

        while(len--)
        {
                dat = *src++;
                *dst++ = asc_tab[dat>>4];
                *dst++ = asc_tab[dat&0x0F];
        }
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 23:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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