技术
mt6246
这个作者很懒,什么都没留下…
展开
-
JLINK驱动刷新之WIN7
今天遇到一个问题,我在新的版本KEIL提示我更新JLINK驱动之后,出现JLINK驱动丢失现象,指示灯也不亮了。在网上查了许多资料尝试了好久,最后终于弄好了1、主要问题出现在我执行完各个操作之后,最后在PORT出现了 bossa program com 这样的一个驱动,直接导致我设置好 SAM-PROG2.4之后,write按钮一直显示为灰色。2、然后我禁止了系统自动UPDATE驱动,选择原创 2015-11-07 22:36:58 · 9695 阅读 · 2 评论 -
WIN7 32位 安装RVDS3.1 问题
首先,安装的时候出错,不能正常安装。将 PC 的主题改为经典,然后安装可以正常进行。但是后来安装好之后,编译出现 can''t reverse space 的问题,在网上查了好货解决办法,试了大半天也没能解决。后来只好在 XP 下使用了,安装和编译都完全正常。原创 2016-06-22 18:06:40 · 1351 阅读 · 0 评论 -
htonl ntohl htons ntohs 函数实现
typedef unsigned short int uint16;typedef unsigned long int uint32; // 短整型大小端互换#define BigLittleSwap16(A) ((((uint16)(A) & 0xff00) >> 8) | \ (((ui转载 2016-03-07 09:20:46 · 588 阅读 · 0 评论 -
小问题记录
遇到的问题记录:1、在头文件中定义了变量,想作为全局变量使用,然后我在几个文件中都包含了这个头文件,导致重复定义。正确的做法:1、在一个.c文件中定义,然后在用到的文件中声明。 2、在一个.c文件中定义,然后在它的头文件中声明,在用到的文件中包含相应的头文件。2、将 '0' 与 0 混淆,我定义了一个 IMEIBuf[20] = {0},然后在程序别处有改变 IMEIBuf,我根据 s原创 2016-03-07 09:14:49 · 291 阅读 · 0 评论 -
c语言内存分配
《c语言深度剖析》中关于内存管理部分的测试,可以很好的加深理解。#include#include#includeint main(){char *pstr = NULL;char *pstr2 = NULL;pstr = (char *)malloc(36);strcpy(pstr,"hello world");free(pstr);原创 2015-11-27 18:02:54 · 295 阅读 · 0 评论 -
c语言递归函数
近期再次阅读《c语言深度剖析》对递归有了更好的的理解。#include#includevoid func(int a){if(a>0)func(a/2);printf("%d \r\n",a);}int my_strlen(char *str){assert(NULL != str);if('\0' == *str)原创 2015-11-27 17:58:45 · 510 阅读 · 0 评论 -
溢出 隐式转换 负数存储
下面是对《c语言深度剖析》中的几段代码的测试,可以帮助加深理解:#include#includeint main(){/* 255 溢出char a[1000];int i,len;len = 0;for(i = 0;i{a[i] = -1-i;}len = strlen(a);*/// -0 补码 0000 0原创 2015-11-27 17:50:50 · 412 阅读 · 0 评论 -
strlen的使用问题
最近在做项目时,用strlen测试的字符串长度传递到另外一个函数中,结果由于含有'0'导致出错。应该是遇到了我下面的第二种情况,测试代码如下:#include#includeint main(){int len1,len2,len3;char *str = "hello\0world";char str2[] = {'h','e','l','l','o',0,'原创 2015-11-19 19:02:29 · 631 阅读 · 0 评论 -
C语言_DATE_ _TIME_ _LINE_ _FILE_的使用
代码如下:原创 2015-11-19 14:01:15 · 460 阅读 · 0 评论 -
VS2012使用strcpy_s的问题
1>g:\c_test\time\singlepointer\singlepointer\test.c(15): error C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_W原创 2015-11-25 09:03:54 · 1576 阅读 · 0 评论 -
c语言关于时间的两个函数
根据日期转换为星期几,以及由天数得到月份,代码如下:#includeint datetoweek(int yr, int mn,int day){int i;int days=0;int s;int week;int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};if((0==yr%4 && 0!=yr原创 2015-11-19 18:53:46 · 407 阅读 · 0 评论 -
c语言有符号数取值范围
c语言中有符号数的取值范围问题:比如char类型 [-128,127],当为正数时 0111 1111(二进制)对应十进制 127,这没有任何问题。但是当为负数时 -128 是怎样得到的呢?最高位为1时候代表负数,我们通常会认为11111111的时候是最小值即-127(当表示原码的时候 最小值-127是对的)其实不是这样的,因为计算机是采用的补码形式,根据补码的规则11111111原创 2015-11-25 09:27:32 · 1037 阅读 · 0 评论 -
c语言va_list snprintf 的实现
首先列出我自己实际遇到的一个例子:在串口向 PC 发送数据时为了实现可变参数的功能,这是工程中遇到的一段代码:int SerialDbgPrintf(uint8 type, char *fmt, ...){if(type == ATCMD){int cnt;char string[MAX_PRINTF_STR_SIZE] = {'\0'};va_list a转载 2015-11-19 09:05:33 · 1696 阅读 · 0 评论 -
crc32校验算法
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。以下是CRC32的C语言实现,经过测试,能够正确运行:[cpp] view plaincopy转载 2015-11-18 19:16:45 · 2443 阅读 · 0 评论 -
c语言回调函数
本文转载自 http://www.cnblogs.com/2eggs/archive/2012/11/20/2779567.html1234567891011121314151617181920212转载 2015-11-18 19:10:02 · 563 阅读 · 0 评论 -
c语言字符串转换为16进制和10进制数字
字符串转换为16进制或者10进制:1、使用自己编写的函数。2、使用库函数。将字符串转换为16进制两种方法的代码:#include#include#include int HexStr2Int(char *buf) {int result = 0;int tmp;int len,i;len = strlen(buf);printf("len原创 2015-11-18 19:06:04 · 8575 阅读 · 0 评论 -
最近遇到的一个数组越界的BUG
关于二维数组的问题,之前在我代码中有如下这样一段,(//CMD:DS:1234567890abcd:1234567890:5:0016:44:BLE A IM 20:73:6a:18:ec:e8,11:22:33:44:55:66)当解析到 e8,11 时会导致 dest 越界,但是由于我每次 cmd_line ->Cmdpos += 3;,这样刚好解析到的MAC也是对的,所以当时没有发现。c原创 2015-11-20 18:50:37 · 623 阅读 · 0 评论 -
KEIL编译后Program Size: Code=1032 RO-data=336 RW-data=12 ZI-data=1836 的含义
Code: 程序所占用的FLASH大小,存储在FLASH.RO-data: Read-only-data,程序定义的常量,存储在FLASH中。RW-data:Read-write-data,已经被初始化的变量,存储在SRAM中。ZI-data:Zero-Init-data,未被初始化的变量,存储在SRAM中。原创 2015-11-14 10:07:21 · 12411 阅读 · 1 评论 -
c++ 和 c 中函数和变量的互用
一、在 c 中使用 c++ 函数:1、在 c++ 文件中声明 example: extern 'C' int func(int s);2、在 c 文件中声明和使用 extern int func(int a);func(4);二、在 c++ 中使用 c 中函数和变量1、包含头文件的方式extern "C" {#include"head.h" };2、原创 2016-08-05 18:27:16 · 461 阅读 · 0 评论