前几天看到一个宏, 它大概是这样的:
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__, __LINE__))
代码的含意简单, 关键是那个 (void)0 的用法, 我还是第一次见到
我用 void 的时候, 有两种情况:
1.放到函数前面, 强调函数没有...
分类:
编程语言 时间:
2015-08-17 15:39:44
阅读次数:
273
----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、关于java中的集合类
首先看一下,大致的框架流程图
通过这些我们可以看出来,通常我们经常采用的vector、arraylist、hashset,treeset,hashmap,hashtable,treemap、linkedlist类
...
分类:
编程语言 时间:
2015-08-17 15:41:14
阅读次数:
168
unsigned char 是无符号字符型
volatile 易变,易失的
volatile unsigned char i;
意思是定义一个无符号字符型的变量 i。
这个变量存放在内存中,要用的时候需要从内存中取出。
一般的逻辑是“准备用变量----去对应的内存地址取变量----用变量”,而现在编译器编介入后,就把i 的值放在R寄存器里,每次从R寄存器里取值,而不从内存取值...
分类:
其他好文 时间:
2015-08-17 15:39:54
阅读次数:
126
1,什么是代理模式?
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
2,策略模式有什么好处?
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
3,代理模式一般涉及到的角色有:
抽象角色:声明真实对象和代理对象的共同接口;
代理角色:代理对象角色...
分类:
编程语言 时间:
2015-08-17 15:39:45
阅读次数:
209
I/O接口的作用
主机与外界交换信息称为输入/输出(I/O)。主机与外界的信息交换是通过输入/输出设备进行的。一般的输入/输出设备都是机械的或机电相结合的产物,比如常规的外设有键盘、显示器、打印机、扫描仪、磁盘机、鼠标器等,它们相对于高速的中央处理器来说,速度要慢得多。此外,不同外设的信号形式、数据格式也各不相同。因此,外部设备不能与CPU直接相连,需要通过相应的电路来完成它们之间的速度...
分类:
其他好文 时间:
2015-08-17 15:39:01
阅读次数:
126
问题描述 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式 第一行一个数字L。
第二行是字符串S。
L大于0,且不超过S的长度。输出格式 一行,题目要求的字符串。 输入样例1:
4
bbaabbaaaaa 输出样例1:
bbaa 输...
分类:
其他好文 时间:
2015-08-17 15:41:09
阅读次数:
101
在ARM架构下, 数据从内存到CPU之间的移动只能通过LDR/STR指令来完成. 而MOV只能在寄存器之间移动数据,或者把立即数移动到寄存器中,并且数据的长度不能超过8位
以下是具体的应用例子:
1. LDR r0,=label 用于加载立即数或一个地址值到指定寄存器中
1.1 如果label是立即数: LDR r0,=0X123 ;将0X123存入r0中
1.2 如果name是个标识符:...
分类:
其他好文 时间:
2015-08-17 15:39:31
阅读次数:
107
所谓上,就是指高电平;所谓下,是指低电平。上拉,就是通过一个电阻将信号接电源,一般用于时钟信号数据信号等。下拉,就是通过一个电阻将信号接地,一般用于保护信号。
这是根据电路需要设计的,主要目的是为了防止干扰,增加电路的稳定性。
假如没有上拉,时钟和数据信号容易出错,毕竟,CPU的功率有限,带很多BUS线的时候,提供高电平信号有些吃力。而一旦这些信号被负载或者干扰拉下到某个电压下,CPU无法正确地接...
分类:
其他好文 时间:
2015-08-17 15:38:09
阅读次数:
92
引脚就是芯片外接的引脚啊,一个芯片至少有VCC,GND引脚,象51单片机还有IO引脚,串口引脚等,引脚就是物理外接的一个个管腿啊。
端口是单片机内部(CPU单元)和外部IO的接口组,比如说PA端口,有8个引脚,PA0~PA7。端口在IO空间映射有寄存器,这个寄存器反映当前端口的状态,如PA0口上输入的电压是0~5V的信号,单片机在映射进寄存器时会定义一个门限(如1.8V),低...
分类:
其他好文 时间:
2015-08-17 15:39:40
阅读次数:
142
这篇是计算机类的优质推荐>>>>《iOS开发范例实战宝典(进阶篇)》
以最新的IOS 8为版本编写,内容覆盖了IOS开发的方方面面,通过大量实例提升实战技能,并对书中的重点和难点进行了专门分析。
编辑推荐
*以最新的iOS 8为版本编写,内容覆盖了iOS开发的方方面面*
*通过200多个实例提升实战技能,并对书中的重点和难点进行了专门分析
*注重实战:详细讲解了117...
分类:
移动开发 时间:
2015-08-17 15:39:59
阅读次数:
209
STM32学习笔记:外部中断的使用
中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。
1 基本概念
ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个...
分类:
其他好文 时间:
2015-08-17 15:39:22
阅读次数:
593
js 提供了两组函数来进行字符串的编码与解码:escape()与unescape(),
decodeURI()与encodeURI();
JavaScript escape() 函数
定义和用法
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
语法
escape(string)
参数
描述
...
分类:
Web程序 时间:
2015-08-17 15:37:12
阅读次数:
145
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存...
分类:
其他好文 时间:
2015-08-17 15:37:13
阅读次数:
115
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。
尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者...
分类:
Web程序 时间:
2015-08-17 15:38:32
阅读次数:
142
选择排序:
和冒泡排序的比较
选择排序是一种和冒泡排序很相似的排序方法,冒泡排序是通过两两比较,不断调换,逐个推进进行排序的,两两比较,和两两调换都是比较费时的,选择排序可以说是冒泡排序的一种改进.冒泡排序每趟遍历比较的目的是要找出最小值,但是过程中很多交换都是无价值的交换,很浪费时间.所以选择排序的做法是:每次遍历,只选择最值元素进行交换,这样一次遍历,只需进行一次交换即可,从而避免了其它无...
分类:
编程语言 时间:
2015-08-17 15:38:33
阅读次数:
137
1、系统文件名和源文件名以‘ stm32f10x_’的形式表示。
2、在单一文件中使用的常量在该文件中定义。在多个文件中使用的常量定义在头文件中。所有常量都以大写字母表示。
3、寄存器当做常量看待,同样以大写字母表示,多数情况下,在STM3210X参考手册中使用相同的缩写。
4、外围模块的功能函数的名字,需要有相应的外围模块缩写加下划线这样的前缀,每个单词的首字符要大写。例如SPI_Send...
分类:
其他好文 时间:
2015-08-17 15:39:25
阅读次数:
254
[导读] 串口的工作原理 引言 串行端口一直被视作计算机最基础的外部连接设备之一,在过去的20多年时间里,它一直是大多数计算机不可或缺的组
关键词:串行端口
串口的工作原理
引言
串行端口一直被视作计算机最基础的外部连接设备之一,在过去的20多年时间里,它一直是大多数计算机不可或缺的组成部分。虽然许多较新的系统在采用USB连接设备后,已经彻底放弃了串行端口,但大多数调制解调器都仍然在使...
分类:
其他好文 时间:
2015-08-17 15:37:16
阅读次数:
147