본문 바로가기
반응형

공부/C#25

C# delay C#으로 serial 통신을 하다보니..... 데이터를 보낸 다음에 응답을 기다리고 있는데... 이걸 처리해주는게 너무 애매했다... 물론 타이머로 해서 해주면 되긴 하는데... 내 경우에는 타이머가 다른걸로 4개 넘게 돌아가고 있는 상황이고 해서... 약간의 딜레이가 필요한데.... 펌웨어같은 경우에는 데이터 보내고 수신플래그를 기다리는.. 무한루프 ... while(수신때까지); 뭐 이렇게 해서 수신인터럽트걸리면 빠져나오도록 쓰곤 했는데.. C#에서는 이게 안먹히고 그냥 뻗는다... 아무래도 펌웨어에서 타이머가 인터럽트로 걸리는것처럼 안걸리고 그냥 흐름상에 구문이 끝날때까지 기다렸다가.. 사이에 들어가는듯.... 뭐 쨋든 그래서 delay함수가 필요했는데... 드디어 찾았다... ///////////.. 2012. 8. 23.
C# serialport 데이터 주고받기 test 시 주의점( ReadByte와 ReadExisting) Serialport 테스트시 usb to serial에 rx와 tx를 쇼트 시켜서 내가 보낸 데이터를 그대로 받는 식으로 프로그램을 구성했었는데... 이게 문제가 있다... 그건 바로 데이터길이가 100 byte 이상(아직 정확하게 몇byte 이상인지는 잘모르겠고... 264byte를 날렸었다) 보내서 바로 받을때 data가 씹히는 경우가 있다. 물론 ReadByte를 사용해서 값을 불러올때 데이터가 씹히는 현상이 일어났고 ReadExisting은 거의 없었다. 일반적으로 테스트를 하기 위해서는 ReadExisting을 사용하면 현재 받은 데이터를 한번에 모두 가져오기때문에 데이터가 씹히는 경우가 거의 없었으나.... 나는 하드웨어랑 연동해서 해야되기때문에 한번에 string으로 읽어오는 ReadExis.. 2012. 7. 20.
c# 시리얼 포트 ( serial port, serialport) 원하는거 찾아서 연결하기. 어제 serial port에 연결하는것 에 대해서 글을 썻는데... 하다보니.... 후... 이거야원.... 잘 생각해보니까 처음에 프로그램을 실행하면 바로 내가 연결한 녀석(?) 과 통신을 해야한다...... 그거 찾아서 설정하라고 하면 사용자가 짬뽕과 짜장을 겁나 뿌리고 다닐지도 모르기에... 그런데 그냥 윈도우 첨깔고 일반적인 마우스키보드를 사용하면 serialport가 딱 1개만 뜨는데... 마우스나 키보드가 일반적이지 않다(serialport로 잡히는 친절한 녀석들이 있음)던가.... 아니면 다른 주변기기들로 인해서 serialport에 한개 이상이 잡혀 있다면.... 그중에서 내가 원하는 녀석!!!! 그놈!!! 을 찾아야 한다!!! 방법이야 여러가지가 있겠지만... 처음엔 timeout에 대한.. 2012. 7. 10.
C# SerialPort 송수신.. 프로젝트 중에 serial통신하는게 있어서 serialport 기능을 써봤다.... MFC때 겁나 오랜시간동안 데이터 안들어오네 들어오네.. 값이 깨지네 마네... 프로그램 뻗었네 마네... 거기다가 오실로스코프까지 사용해가면서 했었던게 엊그제 같은데..... 오늘은 검색 몇번으로 30분만에 해결...ㅎㅎㅎ 일단 윈폼프로젝트를 생성한담에 도구상자에서 serialport를 선택해서 윈폼에 밀어넣으면 작업창 밑에 추가 된다... 고럼 일단은 선언이나 전송속도, 뭐 등등등 알아서 선택된다. 근데 중요한건 serialport는 PC에서 COM1, COM2 요딴식으로 붙는데 2~3개씩 붙는 경우도 있기 때문에 COM1, COM2를 선택할수 있도록 해주는게 좋다. 준비물은... 나는 usb to serial 이 있.. 2012. 7. 9.
C# 윈폼( winform)에 최소화, 최대화, 닫기 버튼 없애기. C# 프로젝트를 하다보면 닫기 버튼으로 꼭 닫아야 할때가 있어야 할수도 있다. 그리고 윈폼의 크기를 변화가능하지 않도록 하고 최대화최소화를 없애야 할 때가 있다.. 나 역시도 그랬는데 방법이 완전 간단한...ㅡㅡ;;; 윈폼에 그냥 제목표시줄 우측에 기본으로 들어가 있는 최소화,최대화,닫기 버튼을 없애는 방법을 찾고 있다가 ... 시간때문에 계속 미뤘는데 오늘 우연찮게 찾았다. 아래처럼 원래 윈폼예제를 하다보면 표시부분처럼 기본으로 달려 나온다. 위에서도 기술하였듯... 필요없거나 없애야 하는 경우가 종종있다. 이럴때 윈폼을 선택하고 속성에 ControlBox를 찾아 그걸 False로 바꿔준다. 아래 그림과 같이.... False를 딱 바꾸는 순간 바로 디자인은 없어지는데 실행을 해서 확인해보니... 아래.. 2012. 7. 9.
C# 윈폼(Winform), 다이어로그창(Dialog)의 아이콘(icon) 만들기. C#에서 윈폼(다이어로그창)의 맨위에 제목표시줄에 우측에 아이콘모양과 이름이 있고 좌측엔 최소화, 최대화, 닫기 이렇게 배치가 되어있다. 이중에서 아이콘을 바꾸는 방법이다. 보통은 사각형 3개가 있는 모양인데 고걸 자기 맘대로 바꾸는 방법.... 한가지 아쉬운점은 내가 설명하려고 하는건 아이콘을 만들어서 적용시키는 방법인데 이게 포토샵 cs5 버전이나 cs5.1버전이 있어야 한다. 물론 다른 방법도 있겠지만 일단은 내가 아는건 이거 밖에...ㅡㅡ;;;; 다른 방법이 있다면 그걸찾아서 해도 된다.. 아니면 아래글을 보는건 시간낭비가 될런지도.... 그럼 설명에 들어가겠다. 아이콘을 바꾸는건 윈폼을 선택한후에 속성창을 보면 Icon항목이 있고 기본아이콘모양이 보인다. 이걸 클릭하면 파일을 불러올수 있는 창이.. 2012. 7. 6.
반응형