unsigned

MYSQL类型与JAVA类型对应表

坚强是说给别人听的谎言 提交于 2020-04-06 04:21:20
下面我给出MYSQL类型与JAVA类型对应表,希望能够帮到您: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N BLOB java.lang.byte[] -4 TEXT 65535 VARCHAR java.lang.String -1 INTEGER 4 INTEGER UNSIGNED java.lang.Long 4 TINYINT 3 TINYINT UNSIGNED java.lang.Integer -6 SMALLINT 5 SMALLINT UNSIGNED java.lang.Integer 5 MEDIUMINT 8 MEDIUMINT UNSIGNED java.lang.Integer 4 BIT 1 BIT java.lang.Boolean -7 BIGINT 20 BIGINT UNSIGNED java.math.BigInteger -5 FLOAT 4+8 FLOAT java.lang.Float 7 DOUBLE 22 DOUBLE java.lang.Double 8 DECIMAL 11 DECIMAL java.math.BigDecimal 3

部分中断相关函数浅析

为君一笑 提交于 2020-04-05 23:37:12
1. /kernel/irq.c softirq_init 2.6.32.25 1.1 for_each_possible_cpu for ( ( ( cpu ) ) = - 1 ; ( ( cpu ) ) = cpumask_next ( ( ( cpu ) ) , ( cpu_possible_mask ) ) , ( ( cpu ) ) < nr_cpu_ids ; ) 1.2 per_cpu(tasklet_vec, cpu); //取per_cpu_tasklet_vec[cpu],即cpu的tasklet_vec结构。 per_cpu (tasklet_vec, cpu); ( * ( { unsigned long __ptr ; __ptr = ( unsigned long ) ( ( & per_cpu__tasklet_vec ) ) ; ( typeof ( ( & per_cpu__tasklet_vec ) ) ) ( __ptr + ( ( ( __per_cpu_offset [ cpu ] ) ) ) ) ; } ) ) ; 1.3 tasklet_vec / tasklet_hi_vec static DEFINE_PER_CPU( struct tasklet_head, tasklet_vec); static DEFINE_PER_CPU(

信息的表示和处理(整数部分)

房东的猫 提交于 2020-04-05 19:10:32
这里通过分析一个练习题来总结: 考虑下列代码,这段代码试图计算数组a中所有元素的和,其中元素的数量由参数length给出。 /* WARNING: This is buggy code */ float sum_elements(float a[], unsigned length) { int i; float result = 0; for (i = 0; i <= length - 1; i++) result += a[j]; return result; } 当参数length等于0时,运行这段代码应该返回0.0。但实际上,运行时会遇到一个内存错误。请解释为什么会发生这样的情况,并且说明如何修改代码。 解: 首先我们发现参数length的形式参数的类型为unsigned,是一个无符号数,而无符号数是非负的,比如一个字节可以表示的无符号数范围是0~255,在代码中如果参数length等于0,则在循环中会首先对length减1来判断,而这个结果并不是一个负数,而是一个很大的正数。举个例子,对于一个字节,我们这里用十六进制来表示方便一点,0的十六进制为0x00,而0 - 1会得到0xFF,这个数表示为无符号数的大小为255,也就是一个字节所能表示的最大无符号数,这就产生了错误,但是如果我们用有符号数来解读0xFF,此时这个数的大小为-1,就正确了

mysql学习笔记(二:中的auto_increment 理解

懵懂的女人 提交于 2020-04-04 06:54:37
1、auto_increment 理解1 auto_increment是用于主键自动增长的,从1开始增长,当你把第一条记录删除时,再插入第二跳数据时,主键值是2,不是1。 例如: create table `test` ( `id` int(10) not null auto_increment, -- 表示自增列 `name` varchar(20) not null, primary key(`id`) )    auto_increment = 1; -- 表示自增起始大小-- 这样就可以创建一个表`test`,id为自增列 -- 执行语句 insert into test (`name`) values ('名字'); -- 就可以插入一行数据为: 1 '名字' 扩展资料: 在使用AUTO_INCREMENT时,应注意以下几点: 1、AUTO_INCREMENT是数据列的一种属性,只适用于整数类型数据列。 2、设置AUTO_INCREMENT属性的数据列应该是一个正数序列,所以应该把该数据列声明为UNSIGNED,这样序列的编号个可增加一倍。 3、AUTO_INCREMENT数据列必须有唯一索引,以避免序号重复(即是主键或者主键的一部分)。AUTO_INCREMENT数据列必须具备NOT NULL属性。 4、AUTO_INCREMENT数据列序号的最大值受该列的数据类型约束

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

CC2430基础——LED控制实验

醉酒当歌 提交于 2020-03-30 01:56:53
#include "ioCC2430.h" void Delay(unsigned char n) { unsigned char i; unsigned int j; for(i = 0; i < n; i++) { for(j = 1; j; j++) } } void main(void) { // CC2430 中,I/O 口做普通 I/O 使用时和每个 I/O 端口相关的寄存器有 3 个,分别是 //PxSEL //功能选择寄存器,PxDIR 方向寄存器,PxINP 输入模式寄存器,其中 x 为 0,1,2 。 P1DIR = 0x03;SLEEP &= ~0x04; while(!(SLEEP & 0x40)); //晶体振荡器开启且稳定 CLKCON &= ~0x47; //选择1-32MHz 晶体振荡器 SLEEP |= 0x04; P0SEL = 0x00;//功能选择 0:普通IO口 1:外围IO P1SEL = 0x00;//功能选择 0:普通IO口 1:外围IO P2SEL = 0x00;//功能选择 0:普通IO口 1:外围IO P0DIR = 0xFF;//方向 0:输入 1: 输出 P1DIR = 0xFF;//方向 0:输入 1: 输出 P2DIR = 0xFF;//方向 0:输入 1: 输出 while(1) { P0=0X00;//输出低电平

Tiny4412裸机程序,按键检测

落爺英雄遲暮 提交于 2020-03-25 08:55:53
3 月,跳不动了?>>> 一、控制原理说明 先看一下原理图: 首先把按键对应的GPIO设置为输入模式,修改GPX3CON寄存器(板子不同,可能对应的GPIO管脚不同),通过上图可知当没有按下按键时,对应的GPIO状态为高电平,当有按键被按下时,对应的GPIO变为低,我们在程序一直检测这几个GPIO状态即可。 二、程序说明 其中Start.s文件同上一个实验完全相同;链接脚本key.lds的内容和led.lds完全相同,只把名字改了改;Makefile的内容也大部分一样,也只是改了改里边文件的名字,key.c的文件需要重新编写,代码如下: /* * 程序说明 * 一上电,4个LED全亮,当某个按键被按下,则对应的LED熄灭(可同时按下多个键) * 对应关系:KEY1-LED1,KEY2-LED2,KEY3-LED3,KEY4-LED4 */ //按键对应的GPIO #define GPX3CON (*(volatile unsigned int *)0x11000C60) #define GPX3DAT (*(volatile unsigned int *)0x11000C64) //LED对应的GPIO #define GPM4CON (*(volatile unsigned int *)0x110002E0) #define GPM4DAT (*(volatile

蜕变成蝶~Linux设备驱动之中断与定时器

拜拜、爱过 提交于 2020-03-25 07:40:55
  “我叮咛你的 你说 不会遗忘 你告诉我的 我也全部珍藏 对于我们来说 记忆是飘不落的日子 永远不会发黄 相聚的时候 总是很短 期待的时候 总是很长 岁月的溪水边 捡拾起多少闪亮的诗行 如果你要想念我 就望一望天上那 闪烁的繁星 有我寻觅你的 目光” 谢谢你,曾经来过~   中断与定时器是我们再熟悉不过的问题了,我们在进行裸机开发学习的 时候,这几乎就是重难点,也是每个程序必要的模块信息,那么在Linux中,我们又怎么实现延时、计数,和中断呢? 一、中断 1.概述   所谓中断是指cpu在执行程序的过程中,出现了某些突发事件急待处理,cpu必需暂停执行当前执行的程序,转去处理突发事件,处理完之后cpu又返回原程序位置并继续执行,根据中断来源,中断分为内部中断和外部中断,软中断指令等属于内部中断,中断还可以分为可屏蔽中断和不可以屏蔽中断。Linux 的中断处理分为顶半部和底半部,顶半部完成尽可能少得的比较紧急的功能,往往只是简单的完成“登记中断”的工作,就是将底半部处理程序挂到该设备的底半部处理队列中去,中断处理机制如下图: 2、中断编程 2.1 申请和释放中断 (1) 申请irq int request_irq (unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname

i2c总线编码

ぐ巨炮叔叔 提交于 2020-03-21 10:49:31
发送启动信号S 在同步时钟线SCL 为高电平时,数据线出现的由高到低的下降沿。 启动信号子程序STA 1 /******************************************************************************* 2 * 函数名 : I2cStart() 3 * 函数功能 : 起始信号:在SCL时钟信号在高电平期间SDA信号产生一个下降沿 4 * 输入 : 无 5 * 输出 : 无 6 * 备注 : 起始之后SDA和SCL都为0 7 *******************************************************************************/ 8 9 void I2cStart() 10 { 11 SDA=1; 12 Delay10us(); 13 SCL=1; 14 Delay10us();//建立时间是SDA保持时间>4.7us 15 SDA=0; 16 Delay10us();//保持时间是>4us 17 SCL=0; 18 Delay10us(); 19 } 发送停止信号P 在SCL 为高电平期间SDA 发生正跳变。 停止信号子程序STOP 1 /***************************************************************

单片机下使用IIC

纵饮孤独 提交于 2020-03-17 07:51:56
一、 IIC 总线有两根双向信号线,一根是数据线 SDA ,一根是时钟线 SCL 每根接到 IIC 总线上的器件都有唯一的地址 二、 IIC 通信协议的函数写法 1、 起始信号 2、 终止信号 3、 写数据 4、 读数据 5、 发送应答信号 6、 发送非应答信号 7、 等待应答 8、 检测 IIC 总线设备 三、 函数解析 1、 起始信号和终止信号 SCL 为高电平期间, SDA 线由高电平向低电平变化表示起始信号 SCL 为高电平期间, SDA 线由低电平向高电平变化表示终止信号 void i2c_Start(void) { /* 当SCL高电平时,SDA出现一个下跳沿表示I2C总线启动信号 */ SDA = 1; SCL = 1; i2c_Delay(); SDA = 0; i2c_Delay(); SCL = 0; i2c_Delay(); } void i2c_Stop(void) { /* 当SCL高电平时,SDA出现一个上跳沿表示I2C总线停止信号 */ SDA = 0; SCL = 1; i2c_Delay(); SDA = 1; i2c_Delay(); } 2、 应答和非应答 IIC 总线规定,每传送一字节的数据后都要有一个应答信号以确定数据传送是否被对方接收。 应答信号由接收设备产生,在 SCL 为高电平期间,接收设备将 SDA 拉低为低电平,表示数据传输正确