본문 바로가기
코스웨어/16년 스마트컨트롤러

20160401-업무일지-허도경-로봇제어-터미널2

by 알 수 없는 사용자 2016. 4. 6.
728x90
반응형

c언어

copy ㅁ ㅇ: ㅁ파일 복사하여 ㅇ파일 만들기

type ㅁ: ㅁ 파일열기

type *.ㅁ: ㅁ이 들어간 모든파일열기

type ㅁ ㅇ: ㅁ과 ㅇ 파일 열기

----------------------------------------------------------------------------------

라즈베리파이

cat ㅁ: ㅁ파일열기

cat ㅁ ㅇ:ㅁ,ㅇ파일 열기

cat *ㅁ:ㅁ명이 들어간 모든파일 열기

cat ㅁ>>ㅇ: ㅁ를 ㅇ파일 밑에 붙이기

--------------------------------------------------------------------------------

라즈베리파이를 통한 터미널통신

#include<stdio.h>
#include <stdlib.h>
#include <strings.h>
#include<fcntl.h>
#include<termios.h>
#include<sys/types.h>
#include<sys/stat.h>

#define SPEED   B115200
#define SPORT   "/dev/ttyAMA0"
int main(void)
{
    char cBuff[255];

    int iDev = 0;
    int iRet = 0;

    struct termios stOldState;
    struct termios stNewState;

    iDev = open(SPORT, O_RDWR | O_NOCTTY);//Serial Port Open
    if(0>iDev)
    {
        perror(SPORT);
        exit(-100);
    }
    tcgetattr(iDev, &stOldState);
    bzero(&stNewState, sizeof(stNewState));

    stNewState.c_cflag = 0;//Non Canoical
    stNewState.c_iflag = IGNPAR | ICRNL;
    stNewState.c_oflag = 0;
    stNewState.c_lflag = ICANON;
    bzero(stNewState.c_cc, NCCS);
    stNewState.c_cc[VTIME] =0;
    stNewState.c_cc[VMIN] = 5;

    tcflush(iDev, TCIFLUSH);
    tcsetattr(iDev, TCSANOW, &stNewState);

    iRet = read(iDev, cBuff, 255);
    cBuff[iRet]=0;
    printf("[%s]:[%d]\n", cBuff, iRet);
    tcsetattr(iDev, TCSANOW, &stOldState);
    close(iDev);
    return 0;
}


#include<stdio.h>
#include <stdlib.h>
#include <strings.h>
#include<fcntl.h>
#include<termios.h>
#include<sys/types.h>
#include<sys/stat.h>

#define SPEED   B115200
#define SPORT   "/dev/ttyAMA0"
int main(void)
{
    char cBuff[255];

    int iDev = 0;
    int iRet = 0;

    struct termios stOldState;
    struct termios stNewState;

    iDev = open(SPORT, O_RDWR | O_NOCTTY);//Serial Port Open
    if(0>iDev)
    {
        perror(SPORT);
        exit(-100);
    }
    tcgetattr(iDev, &stOldState);
    bzero(&stNewState, sizeof(stNewState));

    stNewState.c_cflag = 0;//Non Canoical
    stNewState.c_iflag = IGNPAR | ICRNL;
    stNewState.c_oflag = 0;
    stNewState.c_lflag = ICANON;
    bzero(stNewState.c_cc, NCCS);
       stNewState.c_cc[VMIN] = 5;

    tcflush(iDev, TCIFLUSH);
    tcsetattr(iDev, TCSANOW, &stNewState);

    //iRet = read(iDev, cBuff, 255);
    //cBuff[iRet]=0;
    iRet = write(iDev, "test\n", 5);
    //printf("[%s]:[%d]\n", cBuff, iRet);
    printf("전송완료: %d\n", iRet);
    tcsetattr(iDev, TCSANOW, &stOldState);
    close(iDev);
    return 0;
}



--------------------------------------------------------------------------------------------------

드라이버 = 펌웨어(firmware)

윈도우에는 터미널이 존재하지 않는다.

728x90