上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: 下图是传输帧格式,Figure 23 — Transport Frame format Definition106 kbps 时,帧头有 SB 和 LEN,SB 是 Start Byte,LEN 是帧长度,其值是实际传输的数据长度+1,+1 是因为末尾跟着CRC校验 E1。LEN 的长度范围是 3-255,即传输的数据长度是 2-254,因为 CMD0 和 CMD1 肯定有,所以 LEN 至少是 3。212 kbps 和 424 kbps 时,帧头与 106 kbps 不同,没有 SB,而是 PA 和 SYNC。帧尾跟着CRC校验 E2。PA 是Preamble,SYNC 是Synchrono 阅读全文
posted @ 2012-08-20 19:53 ET民工[源自火星] 阅读(1367) 评论(2) 推荐(0) 编辑
摘要: 被动模式下激活协议的流程如下图Figure 24 — Activation protocol in Passive communication mode主动模式下激活协议的流程如下图Figure 25 — Activation Protocol in Active communication mode命令列表见Table 19 — NFCIP-1 Protocol Command Set 阅读全文
posted @ 2012-08-20 17:44 ET民工[源自火星] 阅读(1932) 评论(0) 推荐(0) 编辑
摘要: 下图是标准的P43,Table 19 — NFCIP-1 Protocol Command Set如表可见,命令由2个Byte组成,称为 CMD0 和 CMD1,initiator 发送的命令会设定 CMD0 = D4,Target 回应的命令会设定 CMD0 = D5。至于 CMD1,则顺序为 00 - 0B,估计是为了将来扩充命令方便。 阅读全文
posted @ 2012-08-20 17:26 ET民工[源自火星] 阅读(4185) 评论(0) 推荐(0) 编辑
摘要: 下图是标准的P21-P22, Figure 6 — Initial RF Collision Avoidance 阅读全文
posted @ 2012-08-18 22:29 ET民工[源自火星] 阅读(828) 评论(0) 推荐(0) 编辑
摘要: NFC(Near field communication)的Wiki在这里,标准是ISO/IEC 18092:2004(E), 文件是 ISO_IEC_18092_2004.pdf下图是 P20, Figure 5 — General initialization and single device detection flow在初始化时,需要先启动 RF Collision Avoidance 流程,检测不到 RF field 时才会继续。接下来分 Passive 和 Active 两个不同的通信模式,走不同的流程。 阅读全文
posted @ 2012-08-18 22:19 ET民工[源自火星] 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: C语言中可以使用编译开关来选择不同的代码,如int main() {#ifdef PART_A printf("Part A\n");#else printf("Part B\n");#endif return 0;}如果希望打印出"Part A",就定义 PART_A 这个编译开关,否则就会打印出 "Part B"。可是Java没有C语言的编译开关怎么办?可以用下面的这个方法试试(via:zhongwang"java的编译开关")public static void main(String[] 阅读全文
posted @ 2012-08-02 21:55 ET民工[源自火星] 阅读(926) 评论(2) 推荐(0) 编辑
摘要: 与上一篇《[笔记]C++代码演示Singleton单类实例》不同,本篇演示的是利用 STL 里的 map 和 list 容器,根据索引 key 的不同,返回不同的单实例类,调用举例如下:MySingletonMap* MySM1 = SingletonMap<MySingletonMap>::GetInstance(1);UML类图如下:由上图易知,SingletonMap 是模板类,MySingletonMap 继承自SingletonMap,具体代码如下:#include <iostream>#include <map>#include <list 阅读全文
posted @ 2012-06-28 10:34 ET民工[源自火星] 阅读(1523) 评论(2) 推荐(2) 编辑
摘要: 本文演示了如何无需显式声明一个类,直接通过“类名::GetInstance()”方式获得单类实例的指针。#include <iostream>using namespace std;// Singleton 基类,提供 GetInstance() 方法,获得T类的单实例指针template <class T>class Singleton{public: static T* GetInstance(){ static T instance; // 利用 static 从而获得单类型的实例 return &instance; }protected: ... 阅读全文
posted @ 2012-06-27 17:49 ET民工[源自火星] 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 为了证明C语言的Macro是多么的强大而变态,将常见的关键字和数据类型替换为中文,于是就有了山寨中文编程语言……#include "stdio.h"#define 如果 if#define 否则 else#define 等于 ==#define 输出 printf#define 整数 int#define 返回 return#define 等待按键 getchar#define 主程序 main#define 参数个数 argc#define 参数数组 argv#define 字符 char#define 字符指针 char*整数 主程序(整数 参数个数, 字符指针 参数数 阅读全文
posted @ 2012-06-21 16:40 ET民工[源自火星] 阅读(2547) 评论(21) 推荐(2) 编辑
摘要: 情况是这样的:App程序只提供了部分代码,B库有全部代码。B库的代码需要用到App里面定义的一些枚举量,现在需要将B库链接到App里。由于枚举量的定义中使用了编译开关来控制,而App具体打开了哪些开关未知,从而导致B库中如果直接#include App使用的头文件所得到的枚举值与App里面运行时所得到的枚举值不匹配。还是写个Demo程序来说吧,App的代码是这样的,首先是App.h这个双方都要用的头文件如下:#ifndef APP_H#define APP_H/* Value of ID_E is controlled by switch SWITCH_ID_CD If SWITCH_I... 阅读全文
posted @ 2012-06-14 14:59 ET民工[源自火星] 阅读(1593) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页