{"id":284,"date":"2013-06-26T11:36:13","date_gmt":"2013-06-26T02:36:13","guid":{"rendered":"http:\/\/www.nukoneko.info\/blog\/?p=284"},"modified":"2014-09-14T12:58:41","modified_gmt":"2014-09-14T03:58:41","slug":"felicalib-%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6-felica-lite-%e3%81%ae%e7%89%b9%e5%ae%9a%e3%81%ae%e7%ae%87%e6%89%80%e3%82%92%e8%aa%ad%e3%81%bf%e5%8f%96%e3%82%8b-vc-%e7%b7%a8","status":"publish","type":"post","link":"https:\/\/www.nukoneko.info\/blog\/?p=284","title":{"rendered":"felicalib \u3092\u4f7f\u7528\u3057\u3066 Felica Lite \u306e\u7279\u5b9a\u306e\u7b87\u6240\u3092\u8aad\u307f\u53d6\u308b (VC++ \u7de8)"},"content":{"rendered":"<p>\u5927\u5b66\u3067\u3001\u5b66\u751f\u8a3c\u3092\u8aad\u307f\u53d6\u3063\u3066\u51fa\u6b20\u7ba1\u7406\u3092\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u4f5c\u3063\u305f\u6642\u306e\u8a71<br \/>\n<!--more--><\/p>\n<hr>\n<p>\u4f7f\u3046\u3082\u306e<\/p>\n<p> \u30fbVisualStudio 2010  \u2190\u958b\u767a\u74b0\u5883<br \/>\n \u30fbRC-320 \u2190\u30ab\u30fc\u30c9\u30ea\u30fc\u30c0\u30fc<br \/>\n \u30fb<a href=\"http:\/\/felicalib.tmurakam.org\/\">felicalib<\/a><\/p>\n<p>\u5fc5\u9808<br \/>\n \u30fb<a href=\"http:\/\/www.sony.co.jp\/Products\/felica\/consumer\/download\/felicaportsoftware.html\">NFC\u30dd\u30fc\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2<\/a><\/p>\n<hr>\n<p>\u307e\u305a\u3001\u4eca\u56de\u4f7f\u3046felicalib\u306e\u30d5\u30a1\u30a4\u30eb\u306f<br \/>\n\u3000\u30fbfelicalib.h<br \/>\n\u3000\u30fbfelicalib.c<br \/>\n\u3000\u30fbfelicaint.h<br \/>\n\u306e3\u3064\u306a\u306e\u3067\u3001\u3053\u308c\u3089\u3092\u4e00\u3064\u306e\u30d5\u30a9\u30eb\u30c0\u306b\u307e\u3068\u3081\u3061\u3083\u3044\u307e\u3057\u3087\u3046 (\u50d5\u306f\u3053\u3046\u3057\u3066\u305f<\/p>\n<hr>\n<p>\u6b21\u306b\u3001VisualStudio \u306e\u8a2d\u5b9a<\/p>\n<hr>\n<p>1\uff0e \u30b3\u30f3\u30bd\u30fc\u30eb\u30a2\u30d7\u30ea-> \u2611\u7a7a\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 -> [\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb]\u306bmain.cpp\u3092\u4f5c\u6210<\/p>\n<p> \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u304b\u3089 -> \u69cb\u6210:\u3059\u3079\u3066\u306e\u69cb\u6210  -><br \/>\n\u3000\u3000\u30fb C\/C++ -> [\u8ffd\u52a0\u306e\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea]<br \/>\n\u3000\u3000\u30fb \u30ea\u30f3\u30ab\u30fc -> [\u8ffd\u52a0\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u30c7\u30a3\u30ec\u30af\u30c8\u30ea]<\/p>\n<hr>\n<p>2.\u3000\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u3001<br \/>\n\u3000\u3000[ \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb ]\u306bfelicalib.c<br \/>\n\u3000\u3000[\u30d8\u30c3\u30c0\u30fc\u30d5\u30a1\u30a4\u30eb]\u306bfelicaint.h felicalib.h \u3092\u8ffd\u52a0<\/p>\n<p>\u305d\u308c\u3067\u306f\u6e96\u5099\u304c\u3067\u304d\u305f\u3068\u3053\u308d\u3067\u59cb\u3081\u307e\u3057\u3087\u3046<\/p>\n<hr>\n<p>\u307e\u305a\u306f\u3001<a href=\"http:\/\/www.sony.co.jp\/Products\/felica\/business\/tech-support\/st_flusmnl.html\">FelicaLite\u306e\u30de\u30cb\u30e5\u30a2\u30eb<\/a>\u3092\u8aad\u3080\u3002<\/p>\n<p>\u30fb\u30fb\u30fb\u307b\u3046\u307b\u3046\u3002<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;stdio.h&gt; \r\n#include &lt;string.h&gt;\r\n#include &quot;felicalib.h&quot; \r\n  \r\n#define SYSTEM_CODE 0x88B4  \/\/\u56fa\u5b9a\r\n#define SERVICE_CODE 0x000B \/\/\u56fa\u5b9a\r\n\r\n\/\/ aa \u8aad\u307f\u3060\u3059\u30d6\u30ed\u30c3\u30af\u756a\u53f7\r\n#define READ_BLOCK_NUM 0xaa \r\n\r\n\/\/ bb \u8aad\u307f\u3060\u3059\u30d6\u30ed\u30c3\u30af\u6570\r\n#define READ_BLOCK_LENGTH bb\r\n\r\npasori *p; \/\/ pasori \u30dd\u30a4\u30f3\u30bf\r\nfelica *f; \/\/ felica \u30dd\u30a4\u30f3\u30bf\r\nchar ret&#x5B;READ_BLOCK_LENGTH]; \/\/\u8aad\u307f\u3060\u3057\u305f\u5024\u683c\u7d0d \r\nuint8 data&#x5B;READ_BLOCK_LENGTH]; \/\/read\u3057\u305f\u30c7\u30fc\u30bf\u306e\u53d7\u3051\u53e3 \r\n      \r\np = pasori_open(NULL); \r\nif (!p) printf(&quot;Card Reader isn't connected.\\n&quot;); \r\nelse{\r\n\tpasori_init(p); \/\/pasori\u306e\u521d\u671f\u5316 \r\n\r\n\tf = felica_polling(p, SYSTEM_CODE, 0, 0);\r\n\r\n\tif (!f) printf(&quot;Card isn't placed.\\n&quot;);\r\n\telse{\r\n\t\t\/\/\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u8aad\u307f\u51fa\u3057\u95a2\u6570\r\n\t\tfelica_read_without_encryption02(\r\n\t\t\tf \r\n\t\t\t,SERVICE_CODE\r\n\t\t\t,0 \/\/0\u3067ok\r\n\t\t\t,READ_BLOCK_NUM \r\n\t\t\t,data \/\/\u3053\u3053\u306b\u30c7\u30fc\u30bf\u304c\u8fd4\u3063\u3066\u304f\u308b\r\n\t\t);\r\n\r\n\t\t\/\/uint8\u578b\u306e\u30c7\u30fc\u30bf\u3092 char\u578b\u306e\u30c7\u30fc\u30bf\u306b\u30b3\u30d4\u30fc\r\n\t\tmemcpy(ret,data,READ_BLOCK_LENGTH);\r\n\r\n\t\tprintf(&quot;%s\\n&quot;,ret); \/\/\u8868\u793a\u3057\u3066\u307f\u308b\r\n\t\t\/\/\u89e3\u653e\u3059\u308b\r\n\t\tfelica_free(f);\r\n\t}\r\n}\r\n<\/pre>\n<p>\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u306d\u3002<\/p>\n<p>\u3053\u306e\u30bd\u30fc\u30b9\u3060\u3068 while \u3068\u304b\u3092\u4f7f\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u5b9f\u884c\u6642\u306b\u30ab\u30fc\u30c9\u3092\u4e57\u305b\u3066\u3044\u308b\u6642\u306e\u307f\u53cd\u5fdc\u3057\u307e\u3059\u3002<br \/>\nfelica_polling \u306e\u5f8c\u3067while\u3068sleep\u3092\u4f7f\u3048\u3070\u5e38\u306b\u8aad\u307f\u53d6\u308a\u72b6\u614b\u304c\u4f5c\u308c\u307e\u3059\u306d<br \/>\n\u3067\u306f\u3067\u306f<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5927\u5b66\u3067\u3001\u5b66\u751f\u8a3c\u3092\u8aad\u307f\u53d6\u3063\u3066\u51fa\u6b20\u7ba1\u7406\u3092\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u4f5c\u3063\u305f\u6642\u306e\u8a71<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-284","post","type-post","status-publish","format-standard","hentry","category-cc"],"_links":{"self":[{"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=284"}],"version-history":[{"count":24,"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/284\/revisions"}],"predecessor-version":[{"id":361,"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/284\/revisions\/361"}],"wp:attachment":[{"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nukoneko.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}