본문 바로가기

코딩199

C언어에서 비트연산을 하는 이야기 안녕하세요? 어제 포스팅에서 언급을 했다시피, 비트 연산이라는 것이 상당히 낯선 것인데, 다른 포스팅 안에서 묻어가면서 설명하기에는 내용이 너무 길어서 이렇게 따로 떼어내서 포스팅을 하게 되었습니다. 막상 이렇게 포스팅을 떼어내면 얼마 안되는 것 같기도 하지만, 그래도 엄청나게 짧은 것은 아니기는 합니다. 지난번 포스팅에서 위 스크린샷에 나와 있는 것처럼, 아두이노의 통합 개발환경 IDE인 스케치에서 위와 같이 코딩을 하고서 아두이노 보드에 업로딩해서 아래와 같은 결과가 나왔습니다. 일단 이와 같은 결과가 왜 나왔는지 설명을 하기 위해서는 byte라는 변수에 대해서 먼저 설명을 해야만 하는 필요성이 있습니다. 일단 byte라고 변수를 선언하게 되면, 8비트(bit) 단위의 연산을 시작하게 됩니다. 그래서.. 2017. 11. 17.
아두이노와 C언어 문법수업, 연산자와 for문의 수업 안녕하세요? 이번 포스팅에서는 이번주 수요일에 있었던 수업의 내용인, 아두이노 보드와 이를 제어하기 위한 C언어 문법을 수업했는데, 그 내용을 올리고자 합니다. 먼저 언급해야 할 것은, 크로스 컴파일이라고 해야 할까요? 여기서 나오는 모든 C언어로 씌여진 연산은 모두 'PC'가 아니라 '아두이노 보드'에서 처리한 것이라는 것을 알려드려야 겠습니다. 그래서 여기서는 컴파일이라고 하는 것이 아니라 정확히는 '크로스 컴파일'이라고 해서, 기계어로 변환한 언어가 PC가 아니라 아두이노 보드로 건너가(cross)된다고 해서 크로스 컴파일 이라고 합니다. 먼저 먼저 아두이노 보드에는 모니터가 없으니, 결과를 보기 위해서 Serial.begin이라는 함수를 사용합니다. 여기서 Serial이라는 것은 C언어에서 객체라.. 2017. 11. 16.
워드 데이터와 비트 연산, 그리고 While문 활용의 한 예시 안녕하세요? 어제는 수업내내 CAD를 이용해서 회로 도면만 그렸기 때문에 따로 포스팅을 할만한 내용이 없었습니다만, 오늘은 내용이 많아서 수업의 내용을 2개의 파트로 나누어야 했습니다. 일단 첫 파트는 DAQ라는 장비를 이용해서 데이터 수집장비를 이용하는 경우가 있다고 합니다. 그런데 DAQ에서는 CiMon으로 워드 데이터라는 것이 오게 됩니다. 그리고 이 워드 데이터를 비트 데이터로 바꾸어야 하는 일이 있는데, 먼저 하는 과제는 이를 위해서 변환하는 과제입니다. 먼저 새로운 프로젝트를 생성 하도록 합니다. 일단 태그를 만드는데, DAQ에서는 아날로그 데이터가 오기 문에 이에 대한 아날로그 태그를 하나 만들도록 합니다. 그리고 비트 데이터로 처리하기 위해서 16개의 태그를 만들도록 합니다. 그리고 이번에.. 2017. 11. 14.
CiMon Scada를 혼자서 반복문 만들고, 정답과 대조한 결과 안녕하세요? 이번 포스팅은 이번주 화요일에 있었던 수업이라기에는.... 일단 과제를 직접 부딧쳐서 해결해 보고자 했는 것인데, 그 내용을 포스팅 하는 것에 가깝다고 해야 겠습니다. 일단 일일히 시행착오를 했는 내용을 다 포스팅 하기에는 너무 복잡하기에, 이번에는 중요하다 싶은 내용만 될 수 있으면 간추렸는데, 너무 간추린 것이 아닌가 하는 생각이 듭니다. 일단 처음으로 하는 과제는 위 그림에서 나오는 것처럼 파란색의 피스톤을 최대한으로 빼었다가, 그 다음에 도로 되돌아 오는 작업을 자동으로 하게 만드는 것입니다. 일단 해결하기는 해결을 했는데, 먼저 move라는 스크립트를 짜서, 조건에 따라서 piston이라는 스크립트의 실행여부를 제어 하도록 합니다. 그리고 piston이라는 스크립트에서는 while문.. 2017. 11. 10.