putty(관리자 권한으로 실행)를 실행하고 Serial을 선택한 뒤 장치관리자에서 확인된 포트번호와 속도를 입력한다. 속도가 맞지 않으면 글씨가 깨지는 경우가 있다. 그래서 라즈베리파이에서 다음의 명령어로 속도를 확인해야 한다. 주의)putty 한글배포판은 글자 깨짐 현상이 있습니다. 1 $ sudo nano /boot/cmdline.txt
https://putty.ko.softonic.com/ (putty download site , windows에서 다운로드 및 실행) 위에서 속도를 확인 했으면 115200의 속도를 입력해주고 Open을 클릭하면 된다.
아래와 같은 화면을 확인 할 수 있다. 아무것도 안뜨는 경우 엔터를 한번 입력해준다. * raspberrypi login : pi , Password : 설정한 비밀번호(설정을 안했을 경우 default password : raspberry)
2) Linux 2-1) 장치 연결 확인 다음 명령어를 통해 현재 PC에 PL2303이 연결 되었는지 확인한다. 1 $ lsusb
위의 사진을 보면 PL2303 Serial Port가 연결된 것을 확인 할 수 있다. 2-2) 장치 번호 확인 다음의 명령어를 통해 현재 PC에 PL2303이 연결된 장치 번호를 확인한다. 1 $ dmesg | grep tty
위의 사진에서 맨 밑줄을 보면 마지막으로 연결된 장치가 무엇인지 어떤 장치인지 확인이 가능하다. 본인 PC에서는 pl2303이 ttyUSB0으로 잡혀있다. 2-3) putty를 이용한 Serial 통신 - sudo apt-get install putty(리눅스에서) - sudo putty 위의 windows에서와 마찬가지로 putty에서 Serial을 선택하고 2-2)에서 확인한 Serial Port 번호(ttyUSB0)와 속도(115200)을 입력한다.
장치번호와 속도를 입력한 뒤 Open을 해주면 다음과 같은 화면을 볼 수 있다. 이번에도 마찬가지로 화면이 보이지 않으면 엔터를 한번 입력해준다. * raspberrypi login : pi , Password : 설정한 비밀번호(설정을 안했을 경우 default password : raspberry)
4. Test uart.c #include <stdio.h> #include <string.h> #include <errno.h> #include <wiringPi.h> #include <wiringSerial.h> void uart_ch(char ch); void uart_str(char *str); int main(void) { char str[100]={0,}; char str1[100]={0,}; if (wiringPiSetup () == -1) { fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ; return 1 ; } while(1) { scanf("%s",str1); getchar(); sprintf(str,"%s\n\r",str1); uart_str(str); } return 0 ; } void uart_ch(char ch) { int fd ; if ((fd = serialOpen ("/dev/ttyAMA0", 115200)) < 0) { fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)); return; } serialPutchar(fd,ch); close(fd); } void uart_str(char *str) { while(*str) uart_ch(*str++); } wiringPi에서 지원하는 함수는 다음과 같다. 더욱 자세히 알고싶다면 http://wiringpi.com/reference/serial-library/를 참고하면 된다.
|