bit

Tiny4412之重力感应器驱动

冷暖自知 提交于 2020-03-30 02:07:17
一:Tiny4412 裸板重力感应驱动编写   整个编写过程大概分为如下几步:   (1)在底板上找到重力感应器的所在位置,找到芯片型号(我用的板子上重力感应器芯片型号为: MMA7660FC )   (2)通过型号查看重力感应器电路图,了解每个引脚的功能   (3)找到引脚对应的网标(EINT,SDL,SCL)配置其相应的gpio口   (4)配置芯片相关寄存器   (5)使用I2C来读取重力感应器相应寄存器的值   下面是整个驱动的简单流程图: 通过看底板我们知道了重力感应器的控制芯片型号为: MMA7660FC,接下来我们就在看看改芯片的电路图(如下): 由上图我们可以看出它的外部中断XEINT25,用到的i2c总线为SDA3、SCL3 通过网标我们可以看到它是怎么连接到核心板上的(soc) 由上图可知,XEINT25、I2CSDA3、SCL3所对应的gpio分别为GPA1_2、GPA1_3、GPX3_1,之后我们就可以配置gpio口为相应的功能 通过datasheet我们可以找到它的外部中断号为64,如下图: 简单了解了mma7660的电路图之后我们就需要看芯片的datasheet,了解里面寄存器的配置及功能 首先看一下整个芯片与我们核心板的连接图: 由上图我们可以看出,芯片连接到我们核心板(soc)的总共为三根线:INT( 中断信号),SDA、SCL

一些面试题,转关注的一个博客

一个人想着一个人 提交于 2020-03-29 12:13:37
腾讯面试题: tcp 三次握手的过程, accept 发生在三次握手哪个阶段? 答accept发生在三次握手之后。 第一次握手:客户端发送syn包(syn=j)到服务器。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。 三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。 const 的含义及实现机制,比如: const int i, 是怎么做到 i 只可读的? const用来说明所定义的变量是只读的。 这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。 用 UDP 协议通讯时怎样得知目标机是否获得了数据包 可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。 发送方在发送数据时将此ID和发送时间记录在本地。 接收方在收到数据后将ID再发给发送方作为回应。 发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。 求一个论坛的在线人数,假设有一个论坛,其注册 ID 有两亿个,每个 ID 从登陆到退出会向一个日志文件中记下登陆时间和退出时间

Ehcache计算Java对象内存大小

最后都变了- 提交于 2020-03-24 06:25:00
在EHCache中,可以设置maxBytesLocalHeap、maxBytesLocalOffHeap、maxBytesLocalDisk值,以控制Cache占用的内存、磁盘的大小(注:这里Off Heap是指Element中的值已被序列化,但是还没写入磁盘的状态,貌似只有企业版的EHCache支持这种配置;而这里maxBytesLocalDisk是指在最大在磁盘中的数据大小,而不是磁盘文件大小,因为磁盘文中有一些数据是空闲区),因而EHCache需要有一种机制计算一个类在内存、磁盘中占用的字节数,其中在磁盘中占用的字节大小计算比较容易,只需要知道序列化后字节数组的大小,并且加上一些统计信息,如过期时间、磁盘位置、命中次数等信息即可,而要计算一个对象实例在内存中占用的大小则要复杂一些。 计算一个实例内存占用大小思路 在Java中,除了基本类型,其他所有通过字段包含其他实例的关系都是引用关系,因而我们不能直接计算该实例占用的内存大小,而是要递归的计算其所有字段占用的内存大小的和。在Java中,我们可以将所有这些通过字段引用简单的看成一种树状结构,这样就可以遍历这棵树,计算每个节点占用的内存大小,所有这些节点占用的内存大小的总和就当前实例占用的内存大小,遍历的算法有:先序遍历、中序遍历、后序遍历、层级遍历等。但是在实际情况中很容易出现环状引用(最简单的是两个实例之间的直接引用

基于51单片机的CAN通讯协议C语言程序

♀尐吖头ヾ 提交于 2020-03-22 09:39:21
//-----------------------函数声明,变量定义-------------------------------------------------------- #include <reg52.h> sbit int0 = P3^2; //-----------------------定义寻址的基址-------------------------------------------------------- #define base_Adr 0x00 //-----------------------定义总线定时寄存器的值-------------------------------------------------------- #define SJA_BTR0 0x00 //该值需要用户根据实际需要的波特率进行计算 #define SJA_BTR1 0x16 //具体计算见文章说明 //-----------------------设置接收报文类型(标示符)-------------------------------------------------------- //该值需要用户根据实际需要重新配置 #define SJA_ACR 0x00 //验收代码寄存器的值 #define SJA_AMR 0x16 //验收屏蔽寄存器的值 //-------

基于web信息管理系统的权限设计分析和总结(数据结构)

╄→尐↘猪︶ㄣ 提交于 2020-03-20 07:30:26
转自:http://www.cnblogs.com/chegan/archive/2009/06/02/1494366.html 1、 基于 web 信息管理系统的权限设计分析和总结 (理论) 2、 基于 web 信息管理系统的权限设计分析和总结 (数据结构) 3、基于web信息管理系统的权限设计分析和总结(实现) 看过 基于 web 信息管理系统的权限设计分析和总结 (理论)的一些网友问道,能不能给出这个 权限模型 的实现,其实模型是一个解决给定问题的理论指导,具体的实现可以有多种方式,可能根据您的项目的实际情况有所不同,这里给出一个是基于 sql server 数据库的实现。这里提到的只是一些基本的权限信息,您当然可以扩展更多的权限信息。 首先需要定义的是基本权限单位的数据库模型,用下表来表示:(这个表不是独立存在的,而是合并到表单信息表 和 角色权限表中) 权 限类型 字段名称 类型 意义 操作权限 AddAction bit 新增 ModifyAction bit 修改 DeleteAction bit 删除 SearchAction bit 查询 字段权限 ( 字段之间以逗号 , 分割) ReadOnlyColumnsOnAdd Nvarchar(1000) 只读字段 ( 新增 ) HiddenColumnsOnAdd Nvarchar(1000) 隐藏字段 ( 新增 )

基于web信息管理系统的权限设计分析和总结(数据结构)

不羁的心 提交于 2020-03-20 07:29:53
1、 基于 web 信息管理系统的权限设计分析和总结 (理论) 2、 基于 web 信息管理系统的权限设计分析和总结 (数据结构) 3、基于web信息管理系统的权限设计分析和总结(实现) 看过 基于 web 信息管理系统的权限设计分析和总结 (理论)的一些网友问道,能不能给出这个 权限模型 的实现,其实模型是一个解决给定问题的理论指导,具体的实现可以有多种方式,可能根据您的项目的实际情况有所不同,这里给出一个是基于 sql server 数据库的实现。这里提到的只是一些基本的权限信息,您当然可以扩展更多的权限信息。 首先需要定义的是基本权限单位的数据库模型,用下表来表示:(这个表不是独立存在的,而是合并到表单信息表 和 角色权限表中) 权 限类型 字段名称 类型 意义 操作权限 AddAction bit 新增 ModifyAction bit 修改 DeleteAction bit 删除 SearchAction bit 查询 字段权限 ( 字段之间以逗号 , 分割) ReadOnlyColumnsOnAdd Nvarchar(1000) 只读字段 ( 新增 ) HiddenColumnsOnAdd Nvarchar(1000) 隐藏字段 ( 新增 ) ReadOnlyColumnsOnModify Nvarchar(1000) 只读字段 ( 修改 )

基于web信息管理系统的权限设计分析和总结

烈酒焚心 提交于 2020-03-20 07:29:22
这里讨论的权限只涉及到信息管理系统里面的权限管理,超出此范围的权限管理暂不涉及。 1、权限的应用对象 上面我们已经定义了权限的范围,就是信息系统管理里面的表单操作,那么权限的应用对象就是表单,更进一步说,就是表达表单内容的web管理页面。 2、权限的分类 一个页面的权限范围分为以下几种,也可以叫做基本权限单位。   操作权限:操作权限是一种页面级别的权限,也可以叫做页面权限。包括以下几种 新增 修改 删除 查询 在此基础上还可以进行更加详细的一些分类,比如查看他人记录的权限,修改他人记录的权限等。这部分也可以使用下面的记录权限来实现。 按钮权限:针对页面上按钮的权限管理,包括 u 是否可见 u 是否可用 有时候,我们可以把按钮权限看作为字段权限。 字段权限:字段在页面的不同状态(新增,修改,查询)下面的各种状态管理。包括 是否可见 是否可修改 记录权限:记录权限是指用户对某些记录的查看和修改权限。比如客户关系管理系统中,不同界别的系统用户可以看到不同的记录,例如上司可以看他所有下级员工的客户列表等。 3、权限的实现模型 上面的权限分类大概对涉及到页面元素的权限进行了一个比较全面的概括。另外一个问题就是权限管理的实现模型。在大部分的系统中都是用的基于角色控制模型的权限管理。在这样的系统中,创建一系列的角色,然后把基本权限单位分配给这些角色,再把角色分配给用户,这样用户登录系统后

SV中的数据类型

北慕城南 提交于 2020-03-14 15:42:02
Verilog-1995中规定的数据类型有:变量(reg), 线网(wire), 32位有符号数(integer), 64位无符号数(time), 浮点数(real)。 SV扩展了reg类型为logic,除了reg类型的功能外,可以用在连续赋值,门单元和模块所驱动。但是不能用在双向总线建模,不能有多点驱动。 其他数据类型:无符号双状态 bit, 有符号双状态32位 int, 有符号双状态8位 byte, //可以用内置函数 $isunknown 有符号四状态32位 integer, 无符号四状态64位 time, 有符号双状态浮点64位 real. $isunknown()----在操作数中存在X、Z时,返回1。 $bits(expression)----返回expression占的位宽。 对于四状态类型的数据,缺省值为X,双状态类型的数据,缺省值是0. 很多SV仿真器在存放数据元素的时候都是使用32bit的字边界。所以byte、shortint、int都是存放在一个字中,longint则存放在两个字中。 对于四状态的数据,SV仿真器通常使用两个连续的字或更多的连续的双字来存放它们的值,所以四状态的变量会消耗双倍的空间。 连续的双字,一个字存放数据的0/1值,另一个字存放x/z状态。 foreach可以进行多维数据的递归调用,foreach(A[i,j]) 定宽数组: (pack

SV通过DPI调用C

瘦欲@ 提交于 2020-03-14 15:41:24
Verilog与C之间进行程序交互,PLI(Programming Language Interface)经过了TF,ACC,VPI等模式。 使用PLI可以生成延时计算器,来连接和同步多个仿真器,并可以通过波形显示等调试工具。 通过PLI方式连接一个简单的C程序,需要编写很多代码,并理解多仿真阶段的同步,调用段,实例指针等概念。 PLI方式给仿真带来了额外的负担,为了保护Verilog的数据结构,仿真器需要不断的在Verilog和C之间复制数据。 SystemVerilog引入了DPI(Direct Programming Interface),能够更简洁的连接C,C++或者其他非Verilog的编程语言。 只要使用import声明和使用,导入一个C子程序,就可以像调用SystemVerilog中的子程序一样来调用它。 SystemVerilog和C语言之间传递的最基本的数据类型是int,双状态的32位的数据类型, 通过import声明定义C任务和函数的原型, 带有返回值的C函数被映射成一个systemverilog的函数(function), void类型的C函数被映射为一个systemverilog的任务(task)或者void 函数(function) 通过“DPI-C”引入的C函数, 可以直接在function中调用,但是只在该DPI被声明的空间内有效 ,

Netsol是什么品牌

百般思念 提交于 2020-03-13 17:00:32
Netsol是一家成立于2010年的韩国无晶圆厂存储器半导体设计公司。在开发和销售具有高品质和可靠性标准的非商品存储器产品。当前的产品是异步快速 SRAM ,低功耗SRAM芯片,同步SRAM芯片,四重/ DDR SRAM和SLC NAND闪存。主要客户群是工业,商业和通信,以其高速,低延迟和低功耗存储器设计技术而得到认可。Netsol获得了韩国中小企业和初创企业部的“韩国小巨人公司”认证。 内存业务融合趋势 NetSol的存在背景基于内存业务的趋同趋势。内存供应商的角色将分为两类。第一组将支持大宗商品产品,例如DDR3/4DRAM,多级单元NAND闪存以及用于智能移动设备的存储器,并且必须遵循规模经济。另一个小组将负责为传统存储产品和特殊功能的Niche存储器提供长期支持。NetSol的存在将有助于稳定的供应链管理.英尚微电子被亲自授权为 netsol总代理 ,为广大用户提供SRAM,低功耗SRAM等存储器。 Netsol低功耗SRAM芯片 Density Org. Part Number Voltage Option Speed Package Type 32M bit 2Mx16 S6L3216W1M 2.3~3.6V 1 C/S 45/55/70ns 48FBGA 32M bit 2Mx16 S6L3216W2M 2.3~3.6V 2 C/S 45/55/70ns