Windows Serial Port Programming

이미지
http://blog.daum.net/pg365/51 Windows Serial Port Programming Windows API 를 사용한 시리얼 포트 통신 프로그래밍은 생각보다 간단하지만 , 처음 시작할 때  접근하기가 어려운 면이 있습니다 . 그래서 여기에서 간단히 소개합니다 .  시리얼 통신 프로그래밍이 어떻게 작성되는지와 이를 사용하기 위한 올바른 접근 법을 제시합니다 . 1.  시리얼 포트 열기 시리얼 포트를 열기위해  Windows 에서 제공하는 파일 입출력 함수를 사용합니다 .  먼저 , windows.h  헤더 파일을 인클루드 한 후 아래와 같이  CreateFile()  함수로 시리얼 포트를 오픈 합니다 . HANDLE   hSerial ; hSerial   =   CreateFile ( "\\\\.\\COM1" ,      GENERIC_READ   |   GENERIC_WRITE ,      0 ,      0 ,      OPEN_EXISTING ,      FILE_ATTRIBUTE_NORMAL ,      0 ) ; if   ( hSerial = = INVALID_HANDLE_VALUE ) {      // 에러 발생 } 이 함수를 잠깐 살펴보면 , HANDLE  타입의 변수를 선언하고  CreateFile()  함수를 불러 초기화 합니다 . CreateFile()  함수의 첫 번째 인자는 열고자 하는 시리얼 포트의 이름을 지정하는데 , "\\\\.\\COM1...

apk 파일 디컴파일하기 ( decompile apk )

http://blog.naver.com/PostView.nhn?blogId=man8408&logNo=110111707630

usbserial check

connected usb moudle busybox lsusb # lsusb Bus 002 Device 003: ID 064e:a127 Suyin Corp. Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ lsmod | grep serial usbserial              26445  1 pl2303 # setserial -G /dev/ttyUSB0 Cannot get serial info: Invalid argument # ls /proc/tty/driver/ serial  usbserial # cat /proc/tty/driver/usbserial connected usb device info cat /sys/kernel/debug/usb/devices T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1 B:  Alloc=  1/800 us ( 0%), #Int=  2, #Iso=  0 D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs= ...

유익한 유닉스 명령어 1

이미지
android 에서는 조금 다르겠으나, 퍼옴. android에서 몇가지 유용한 명령 로그정보보기 adb logcat 포트상태 알기 netstat -anp 블로그 > XieN.D http://blog.naver.com/cloostory/100035269766 유닉스 및 리눅스 명령어 팁   1. 서브 디렉토리까지 파일안의 문자열 모두 검색 find ./ -name "*" -exec grep 'abc' {} ; -print find . -name -print -exec grep abc {} ; grep -r abc *   2. haha와 huhu가 동시에 들어있는 행 뽑기 grep haha foo.txt | grep huhu   3. 찾아서 지우기 find / -name "*.eml" -exec rm -f {} ;   4. 공사중에 로그인 막기 /etc/nologin 이라는 파일을 만들어,공사중 또는 Under Construction이라는 공지를 넣으면 됨   5. 크기가 가장 큰 파일, 디렉토리 찾기 du -S | sort -n   6. 가장 큰 파일을 찾으려면 ls -lR | sort +4n   7. 현재 디렉토리의 크기만을 파악할때 # du -c -h --max-depth=0 *   8. 시스템 정보 감추기 /etc/inetd.conf 파일을 열어서, telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h   9. 어떤 프로세스가 메모리를 가장 많이 잡아먹고 있는지 알아내기 ps -aux | sort +4n 또는 ps -aux | sort +5n   10. FTP로 들어온 사용자 확인하기 ftpwho,ftpcount   11. 원하지 않는 사용자 죽이기 skill -KILL sunny 위의 명령을 ...

arduino software reset test OK

//test OK ( asm ( "jmp 0"); ) /*   Blink   Turns on an LED on for one second, then off for one second, repeatedly.   This example code is in the public domain.  */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; int count=0; // the setup routine runs once when you press reset: void setup() {                  // initialize the digital pin as an output.   pinMode(led, OUTPUT);       for(int i=0; i<5; i++)   {     digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)     delay(500);               // wait for a second     digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW     delay(500);     ...

arduino software reset

http://blog.naver.com/PostView.nhn?blogId=eosuntaek&logNo=50001608290&redirect=Dlog&widgetTypeCall=true 리셋하시고 싶은 부분에 #asm("jmp 0")삽입해 보세요.. 마이크로 비젼 질문게시판에 이런글이 잇던데 참고 하세요.. iar 컴파일러를 이용해서 avr 사용시 하드웨어는 reset을 하지않고 소프트웨어 리셋을 할 수있는 방법이있는지요? program counter / stack pointer 초기화 가능... 답변 watch dog를 사용하지 않으시려면요,,, 이렇게 해보시죠,,함수 포인터 입니당. terminal로 A를 100개 보내고 리셋되는게 반복되는 예제입니다. 포인터가 시작번지를 가리키고 잇으며 포인터함수를 호출할경우 리셋으로 점프하게되므로 자의적으로 혹은 외부 상태에 맞게 코딩하시면 리셋되리라 봅니다..그럼,, void main (void) { void (* reset)(void)=0x0000; unsigned char temp; ....중간생략 while(1) { for(temp=0;temp<100; temp++) sendbyte('A'); (*reset)(); //또는 (void)(*reset)(); // CODE 0번지로 점프 ->리셋과 같음, } } [출처] AVR 소프트웨어 리셋 | 작성자 Alan

일반 프로그램을 윈도 서비스로 등록

http://cylog.cyloghomes.net/mc02/Posts/view/24317

적외선 리모콘 (분석의 친구) [Arduino]

이미지
http://hello-world.blog.so-net.ne.jp/2011-05-19 / / IR 분석 스케치 # define IR_IN 2           / / IR Receiver # define NEC 1 # define AEHA 2 # define     3 # define BUF_SIZE (512)     / / ATmega168이라면 128 정도하지 않으면 문제 void setup () {    pinMode (IR_IN, INPUT ); / / Vout -> digital 2    pinMode (3, OUTPUT ); digitalWrite (3, LOW ); / / GND -> digital 3 LOW    pinMode (4, OUTPUT ); digitalWrite ( 4, HIGH ); / / Vcc -> digital 4 HIGH    . begin (115200); } void loop () {    unsigned long usec, nec_ = 0;    unsigned int I, n, irOffTime, minTime, aveCnt = 0, aveAdd = 0;    unsigned int irdata [BUF_SIZE] timeunit, leaderH, leaderL, datalen;    unsigned int format = 0, hex = 0, sony_data = 0, sony_adrs = 0, sony_adrs_bit = 0;    boolean ...