티스토리 툴바


학습/AVR2010/12/16 14:16

 




IHLAB-128보드 로 제작하였음.

SRF-08과 SRF-10은 같은 TWI(I2C)방식으로 제어방식이 동일함.


동작 순서 : setup_TWI() -> startRanging(주소) -> 65ms 이상 대기    -> getRange(주소)  순으로 되어있으며,
                   TWI 초기화  ->   거리감지 시작    -> 측정시간동안 대기 -> 거리얻어오기         순서이다..

주소는 초기 0xE0로 설정되어있지만 변경하여서 0xE2 ~ 0xEA까지로 바꾸었다.

새제품일 경우는 조소에 0xE0로 하여  Test 하변 된다.

 
참고자료 : http://www.robot-electronics.co.uk/htm/srf10tech.htm

사용법은 압축파일의 소스에 설명.





- 하이퍼 터미널 Test 화면 -



- 보드상의 LCD 출력-




- 초음파 센서 장착 사진  -





Posted by 보노보노보노
분류없음2010/07/04 02:11


지난 금요일 밤에

랩실에 있다가 출출해서 편의점을 갔가다

갑자기 와인 생각이 나서 덥썩 잡아버렸다.

이름부터 달다고 써있네. 스위트 레드

근데... 포도 품종이.. 표시가...없네.....

흠흠

맛은 스파클링이 살짝 들어간 달달한맛.

진한정도는 라이트.

달달하니 삽겹살이랑 먹으면 좋을거 같네.
Posted by 보노보노보노
분류없음2010/06/12 04:01
#include <stdio.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <termios.h>
#include <stdlib.h>

struct termios tio; // 터미널 구조체

int main(int argc, char *argv[]) {
	int fd, result; //fd 파일 디스크립터, result : 파일 RW 결과값
	long baud = B38400; //통신속도
	unsigned char buf; // 데이터 받을 buf -> unsigned를 안붙이면 값이 이상하게 나온다.
	char sBuffer[7]={0x02, 0x03, 0x49, 0x56, 0x00, 0x03, 0x1C}; // 보낼 데이터 (현재 뚜리가 사용하고 있는 키트의 정의된 프로토콜 형식


	if((fd = open("/dev/ttyS0", O_RDWR|O_NDELAY|O_NOCTTY)) < 0) { // READ, WRITE로 Serial0 포트 열기
		exit(1);
	}

	////////////////// 보낼 옵션 설정

	tio.c_cflag = baud|CS8|CREAD|CLOCAL; // baud 통신 속도, CS8 (8bit, No Parity, 1 Stop Bit)설정
	// CREAD 문자 수신가능하게 함, CLOCAL, Local Connection 모뎀제어 안함..
	//처음엔 CRTSCTS를 같이 c_cflag에 줬었다. 그래서 정상적으로 작동이 안되서 상당히 얘를 먹었다.
	// CRCTSCTS는 하드웨어 흐름제어, 직렬 케이블의 모든 선이 연결되어 있을 때 사용 -> 보통 모든선을 다 안쓰므로. ^^
	tio.c_cflag &= ~HUPCL;
	tio.c_lflag = 0;  // Local Mode 설정
	tio.c_iflag = IGNPAR; // Parity 오류가 있는 문자 무시
	tio.c_oflag = 0; // 출력처리 설정 0이면 아무것도 안함

	///////////////// 옵션 설정 끝 (물론 추가적인 옵션도 많이 있으나 찾아보기 바란다.)

	tcflush(fd, TCIFLUSH); // 설정을 초기화
	tcsetattr(fd, TCSANOW, &tio); // tio 터미널 구조체의 속정으로 설정을 적용시킨다.
	
	fcntl(fd, F_SETFL, FNDELAY); // 열려있는 파일 제어를 위해 사용

	result = write(fd, sBuffer, 7); // 실제적으로 시리얼로 데이터를 보낸다. sBuffer값의 7개만 시리얼0으로 보낸다.

	if(result < 0) { // 에러냐?
		printf("write error\n");
		close(fd); 
		exit(1);
	}

	usleep(1000); // 쉬고

	while(1) { // 데이터 받는 부분.. 오는거 계속 출력한다. 주구장창.. ^^
		if((result = read(fd, &buf, 1)) > 0) {
			printf("%02x ", buf);
			fflush(stdout); // 뿌려주3.
		}
		
	}

	close(fd); // 끝내기 닫고
}

[출처] 리눅스 C 시리얼|작성자 호팔


Posted by 보노보노보노
학습/C2010/04/02 20:09

//--- External Function에 다음과 같이 선언하시고
Function Long SetWindowPos (Long hwnd ,Long  hWndInsertAfter ,Long  x ,Long  y ,Long  cx ,Long  cy ,Long  wFlags ) Library "user32"

//--- 다음과 같이 기술합니다.
Constant Long HWND_TOPMOST = -1                  //맨위로 설정할때
Constant Long HWND_NOTOPMOST = -2            // 설정을 해제할때
Constant Long SWP_NOSIZE = 1

SetWindowPos (Handle(W_NAME), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE)
[이 게시물은 사랑니님에 의해 2009-08-02 15:38:47 PowerBuilder에서 이동 됨]
[출처] IT.DevInfo ∽ 힘든 IT개발자들의 즐거운 공유(ITDI.co.kr) - http://wss02.ivyro.net/onuri/bbs/board.php?bo_table=02_2&wr_id=68



Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_TOP = 0
Private Const HWND_BOTTOM = 1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2

Function EnabledAlwaysOnTop(hwnd As Long) As Long
EnabledAlwaysOnTop = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
End Function


Function DisabledAlwaysOnTop(hwnd As Long) As Long
    DisabledAlwaysOnTop = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
End Function

 

'사용법은
call EnabledAlwaysOnTop(form1.hwnd)
[출처] 항상위(Allways on TOP) 표현 API|작성자 곱단이


http://blog.naver.com/seamusic00?Redirect=Log&logNo=120014901361





 

Posted by 보노보노보노
학습/Java2010/03/16 19:12

자바의 개요

# 자바의 장점
 - 자바는 운용체제에 의존적이지 않는다.
 - 자바는 자바 가상 기계에 의하여 실행되기에  java.exe가 항상 필요하다.

개발환경 구축

 #1. - 자바 JDK 다운 (http://java.sun.com)
  - java SE( Standard Edition ) JDK

 #2. - 설치
 
 #3.  - 환경변수 등록
  - path => C:\Program Files\Java\jdk1.6.0_18\bin
  - 설치된 폴더의 경로

 #4. - 설치 확인하기
  - cmmand - > java -version // 자바 버젼 확인
  - cmmand - > javac -version // 자바 컴파일러 확인


자바 컴파일하기
 // HelloJava 출력해보기
 /************************************************
 ********   자바 소스 ( HelloJava.java )   *******
 
 class HelloJava{
  public static void main(String args[]) {
   System.out.println("Hello Java"); 
  }
 }
 *************************************************/

 소스 작성 및 컴파일 방법

 #1. - 자바 소스 작성 (확장자 : .java)
  -

 #2.  - 컴파일 하기
  - d:>javac 파일명
  - ex) d:\>javac HelloJava.java

 #3. - 실행하기
  - d:>java 실행프로그램명
  - ex) d:\>java HelloJava 

 

 

 용어정리
 - 메소드 ( method ) :  명령문들의 묶음  // C로 치면 함수, 내용

Posted by 보노보노보노