断电数据保存问题
摘要:对于断电数据保存: 1 可以在每次操作时都将当前的状态保存到一个非易失地方,在上电后从改地址读出来初始化相关参数。优点:可靠但适合保存数量小的场合,缺点:效率不高。 2 也可以在掉电检测中断里面保存数据,上电时调出,但缺点是对突发断电可能没有足够的时间来存储。这适合有后备电源的场合。 STM32F4
阅读全文
posted @
2016-07-29 11:17
杰瑞鼠
阅读(1101)
推荐(0) 编辑
强制转换的一个问题
摘要:问题:如果一个函数的形参是unsigned char *p,而实参变量是一个unsigned long data,那么你会怎么传递参数呢? 方法1 :先定义一个联合体变量 typedef union {unsigned char a[4]; unsigned long b}mylong mylong
阅读全文
posted @
2016-07-29 09:35
杰瑞鼠
阅读(134)
推荐(0) 编辑
状态机程序
摘要:基于时间状态机是在一个定时器的协调下周期扫描执行各个任务:步骤如下: 一 首先定义一个回调函数的结构体:包含计时计数器,延时时间,空类型的指针(做函数参数用),以及一个指针函数(注意参数和返回值) 二 用自定义的数据类型顶一个指针数组:最后一项指针函数为NULL. 三 用单片机的一个定时器作为系统的
阅读全文
posted @
2016-07-25 23:09
杰瑞鼠
阅读(547)
推荐(1) 编辑
静态局部变量
摘要:1静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值 2如果在定义局部变量时不赋初值的话,对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符型变量)。所以对于静态联合体(初始化不好处理)就
阅读全文
posted @
2016-07-25 15:46
杰瑞鼠
阅读(233)
推荐(0) 编辑
函数指针 回调函数 指针数组
摘要:一 函数指针的用法 1.1 先自定义一个函数指针类型,注意它指向的函数的函数的参数和返回值必须与其一致, typedef int (*PFUN)(int a, int b) 1.2 定义一个函数指针变量并指向某一个函数 PFUN pfunc = functionA;// int functionA
阅读全文
posted @
2016-07-15 14:01
杰瑞鼠
阅读(288)
推荐(0) 编辑
赋值问题:
摘要:1 数组和数组间的赋值: 数组作为参数时退化成一个指针,数组不能作为函数值 ,数组间的赋值必须通过内存拷贝实现。 2 结构体的赋值 2.1 结构体可以在定义时用{}赋值(注意{}赋值也只能在定义时用) 2.2 结构体可以以linux风格在定义时赋值,注意顺序可以与定义时不一样。 struck 结构体
阅读全文
posted @
2016-07-14 11:41
杰瑞鼠
阅读(239)
推荐(0) 编辑
关于二维数据中的一维指针作为函数参数和返回值
摘要:问题描述: 1 假定定义了一个二维数组用来存放多条(总20条)数据,每条数据长度为10,uchar message[20][10] 2 要将外部来的一条数据存放到缓冲区指定位置(入口参数 uchar *p,数据的开始地址) 3 要从缓冲区读出一条记录,将其输出(出口参数 uchar *p,数据的开始
阅读全文
posted @
2016-07-13 17:16
杰瑞鼠
阅读(380)
推荐(0) 编辑