如何节约操作内存?

1:直接操作一个字节

#define SYS_FLAG_TAMPER_ALARM (1<<0)//
#define SYS_FLAG_ARMING_ALARM (1<<1)//
#define SYS_FLAG_ARMING_STATUS (1<<2)//
#define SYS_FLAG_ANTI_LOCK_STATUS (1<<3)//
#define SYS_FLAG_MECH_KEY_ALARM (1<<4)//

void NvMan_SetSysFlag(uint8_t flag, FlagStatus sta)
{
uint8_t flagValue;

EEPROM_ReadMultiBytes((uint32_t)&(NV_DATA->sysParam.flag), &flagValue, 1);

if (sta == SET)
{
flagValue |= flag;
}
else
{
flagValue &= ~(flag);
}
EEPROM_WriteMultiBytes((uint32_t)&(NV_DATA->sysParam.flag), &flagValue, 1);
}

读取对应标志。防撬报警标志 布防报警标志 布防状态 反锁状态 传入对应参数,返回0或1
FlagStatus NvMan_GetSysFlag(uint8_t flag)
{
uint8_t flagValue;

EEPROM_ReadMultiBytes((uint32_t)&(NV_DATA->sysParam.flag), &flagValue, 1);
return (flagValue & flag) ? SET : RESET;
}

原文地址:https://www.cnblogs.com/wangzhihong-102511/p/10857015.html

时间: 2024-11-03 03:02:25

如何节约操作内存?的相关文章

转---高并发Web服务的演变——节约系统内存和CPU

[问底]徐汉彬:高并发Web服务的演变——节约系统内存和CPU 发表于22小时前| 4223次阅读| 来源CSDN| 22 条评论| 作者徐汉彬 问底Web服务内存CPU并发徐汉彬 摘要:现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.一味地通过增加机器来解决并发量的增长,成本是非常高昂的.结合技术优化方案,才是更有效的解决方法. [导读] 徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小

高并发Web服务的演变——节约系统内存和CPU

节约系统内存和CPU http://www.csdn.net/article/2015-02-12/2823952 Web系统大规模并发——电商秒杀与抢购 http://www.csdn.net/article/2014-11-28/2822858(曾经阿里电话面试和腾讯的后台开发都说过的问题,记住记住) 作者博客http://hansionxu.blog.163.com/blog/#m=0&t=1&c=fks_084075093082081069081085082095086082080

Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型,函数之内的 我们先来看一张传播久远的图片' 一.各种数据类型介绍 整型 整形包括短整型.整形和长整形. 短整形 short a=1; 整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前.高位在

ORA-30009:CONNECTBY操作内存不足

ORA-30009: CONNECT BY 操作内存不足,10g开始支持XML,可改为xmltable SQL> drop table t_range purge; SQL> create table t_range (id number not null PRIMARY KEY, test_date date) partition by range (test_date)(partition p_2014_7 values less than (to_date('2014-08-01', '

C#中能不能直接操作内存

高级语言C#中引以为傲的GC(垃圾回收器)负责释放垃圾对象占用的内存. 微软允许操作内存,但不支持这样做,扰乱GC. 使用C#中的指针即可,使用unsafe告诉编译器此段为不安全代码,即可使用*或者&来操作内存. 还可以使用DllImport导入C/C++写的DLL接口,C#中可以使用IntPtr对应指针来使用接口进而操作内存 原文地址:https://www.cnblogs.com/HansZimmer/p/12009891.html

高并发Web服务的演变:节约系统内存和CPU

一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置.虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的.结合技术优化方案,才是更有效的解决方法. 并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有出现指数增长,因此它并非主要原因.主要原因,还是web变得更复杂,交互更丰富所导致的. 1. 页面元素增

【问底】徐汉彬:高并发Web服务的演变——节约系统内存和CPU

摘要:现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.一味地通过增加机器来解决并发量的增长,成本是非常高昂的.结合技术优化方案,才是更有效的解决方法. [导读] 徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设. 一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴

(转)高并发Web服务的演变——节约系统内存和CPU

一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置.虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的.结合技术优化方案,才是更有效的解决方法. 并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有出现指数增长,因此它并非主要原因.主要原因,还是web变得更复杂,交互更丰富所导致的. 1. 页面元素增

Getting Physical With Memory.CPU如何操作内存

原文标题:Getting Physical With Memory 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下.一来自己复习,二来与大家分享.] 在你试图理解一个复杂的系统时,如果能揭去表面的抽象并专注于最低级别的概念,往往会有不小的收获.在这个精神的指导下,让我们看看对于内存和I/O端口操作来说最简单.最基础的概念,即CPU与总线之间的接口.其中的细节是很多上层概念的基础,比如线程同步.当然了,既然我是个