摘要: 一个特殊的中断:SVCall简述:一种由程序进行触发的中断,默认开启起源:SVC(系统服务调用,亦简称系统调用)多用于在操作系统之上的软件开发中。SVC 用于产生系统函数的调用请求。例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用 SVC 发出对系统服务函数的呼叫请... 阅读全文
posted @ 2014-05-07 18:30 熄灯就睡 阅读(5311) 评论(2) 推荐(1) 编辑
摘要: SPI通信过程简述:两根数据线:对应于通信双方的各自数据发送端和接收端一根时钟线:用于通信的同步一根NSS线:简单来说其作用是使能通信过程双方数据通过时钟的电平边沿保持同步:(SPI只利用了其中一种边沿:即要么上边沿要么下边沿)因此对于时钟信号来说,最低要求就是要有边沿的变化,而要产生边沿的变化,有... 阅读全文
posted @ 2014-04-25 21:15 熄灯就睡 阅读(669) 评论(0) 推荐(0) 编辑
摘要: Leap::Controller: 该类提供了主要的接口,当你创建一个controller对象时,它会和电脑上的服务连接使得你能从Leap::Frame对象获得帧数据如何获得帧对象: 调用Controller对象的frame函数,空参返回最新的Frame对象,参数为1时获取的是上一次的Frame... 阅读全文
posted @ 2014-04-25 00:01 熄灯就睡 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 把指针作为函数形参的一般目的与意义在于: 能在函数内部修改指针所指对象的值何时需要用“ 指针的指针 ”作为 函数形参? 当你需要在函数内部修改指针的指向时void f(int * pk);void f_(int * *pk);int data =6;int *p=&data;p=data的地址&... 阅读全文
posted @ 2014-04-23 17:08 熄灯就睡 阅读(976) 评论(0) 推荐(0) 编辑
摘要: 简介SQLite不支持并发支持的数据库大小能够达到TB,支持GB的字符串或BLOBs(二进制信息)。整个数据库存储在一个跨平台的数据文件上;安装(sqlite.org)源代码:amalgamation版本,把很多细小的东西合并成一个大家伙。sqlite3.exe:命令行工具库文件或源码:可集成在自己程序中命令行工具(sqlite3.exe)cmdsqlite3 filename.db(有则打开,无则新建)特殊表:SQLITE_MASTER(系统表),自动创建,自动读写,不要人为修改(不能对SQLITE_MASTER表进行DROP TABLE,UPDATE,INSERT,DELETE操作),用于 阅读全文
posted @ 2014-03-20 00:24 熄灯就睡 阅读(245) 评论(0) 推荐(0) 编辑
摘要: GPIO原理:肖特基触发器:把模拟信号转为数字信号,即把信号变陡峭I/O端口默认被配置成浮空输入模式配置为模拟输入模式时:斯密特TTL被禁止,读取输入数据寄存器时数值恒为0;弱上拉和下拉电阻被禁止开漏输出模式下输入寄存器依然有效,实现真正的双向I/O功能在推挽模式时,读输出数据寄存器时可得到最后一次写的值开漏模式时,读输入数据寄存器时可得到I/O口状态GPIO配置指南:输入/输出: GPIOx_CRL共32位,每4位可控制一个引脚,如下面4位用来控制pin0MODEx决定了输入/输出模式:当MODEx>0时(三个值分别代表不同速率),为输出;当MODEx=0时,为输入;设置模式:首先由第 阅读全文
posted @ 2014-03-20 00:24 熄灯就睡 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 串口初始化2时钟使能RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);GPIO模式设置(GPIO_Init)TX:GPIO_Mode_AF_PP 推挽输出RX:GPIO_Mode_IN_FLOATING 浮空输入串口协议设置USART_Init(GPIOx,USART_InitTypeDef)(波特率,8字长,1位停止位,无校验位,可收可发USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;)中断开启串口USART_Cmd 阅读全文
posted @ 2014-03-20 00:24 熄灯就睡 阅读(606) 评论(0) 推荐(0) 编辑
摘要: boot0=0,boot1=x//flash区启动,通常boot0=1,boot1=0//厂家区启动,即ISP模式,下载程序用boot0=1,boot1=1/RAM启动 阅读全文
posted @ 2014-03-20 00:24 熄灯就睡 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 为什么不直接用内部时钟? 因为内部时钟不准确,用于备用MCO是什么? 用于向外界输出芯片内的一些时钟,便于调试或向别的芯片提供时钟CSS是什么? CSS在外部HSE时钟异常时,会自动切换到内部时钟。可用软件控制CSS是否工作系统时钟初始化:使用V3.5的固件库时,在main函数执行之前会先执行SystemInit(这一点在startup_stm32f10x_md.s中被设置)(SystemInit函数在system_stm32f10x.c中),SystemInit根据system_stm32f10x.c内预定义的系统时钟(默认SYSCLK_FREQ_72MHz72M)和stm32f10x... 阅读全文
posted @ 2014-03-20 00:23 熄灯就睡 阅读(269) 评论(0) 推荐(0) 编辑
摘要: systick是一个内核中的滴答器:滴答时间间隔:一般采用AHB时钟的8分频[SysTick->CTRL第2位清零],即一般是72/8=9M,即1s滴答9M次滴答总量:RELOAD寄存器读取RELOAD寄存器作为每次滴答的初值,每滴答一次减1(实时数值存到CURRENT寄存器),减到0时(可触发中断),重新读取重新滴答。RELOAD寄存器24位,9M滴答间隔情况下,单次循环最长时间大概1.8s中断: 标志位: SysTick->CTRL寄存器里的第16位为COUNTFLAG,当滴答到0时该位为1。如果读取该位,该位将自动清零使能中断: SysTick->CTRL寄存器的第1位 阅读全文
posted @ 2014-03-20 00:23 熄灯就睡 阅读(1220) 评论(0) 推荐(0) 编辑