#c++

AureoleAureole· 2년

질문시리얼 통신 데이터 수신시 즉각적인 처리

안녕하세요. 저는 대학교 4학년 프로그래밍 비 전공자이며 현재 시리얼 통신을 이용하여 2개의 기계 간의 통신을 이어주는 프로그램을 만들고 있습니다. 시리얼 통신 프로그램은 mfc 다이얼로그 기반으로 작성하고 있습니다. 현재 기계 A,B 를 시리얼 통신으로 이어 A에서 작업 시작이라는 명령을 내리면 B의 기계가 기능을 수행하며 작업을 시작합니다. 하나의 작업이 끝나기 전에 비상정지를 할 수 있어야 하기에 A에서 정지 명령을 내리게 됩니다. 명령의 데이터 값은 compare() 함수를 통해 비교하여 실행합니다. 다만 A에서 시작 명령을 내린 후 B의 기계가 작업을 시작하고 끝나기 전까지 다른 명령을 듣지 않습니다. 작업 종료 명령을 내려도 작업이 끝나고 난 후 정지하라는 명령 데이터가 수신 되게 됩니다. 이게 수신은 하였지만 수신 버퍼에 저장되어 작업이 끝나기 전까지 대기하다 작업이 끝나면 버퍼에 있는 데이터를 읽어오게 되는 건지 아니면 이 작업을 하는 동안 리소스를 계속 잡고 있어서 (무한루프) 그동안 데이터를 수신하지 못하는 건지, 작업 스레드의 sleep_for(100ms) 지연 시간이 짧아서 인지 갈피를 못 찾겠습니다... 시리얼 통신 보더레이트 속도는 115200을 사용하고 있습니다. 만약 데이터 수신 버퍼에 저장되는 내용을 바로 처리하지 못하는 거라면 즉각적으로 처리할 수 있는 방법이 있을까요? 시리얼 통신 예제는 http://forum.falinux.com/zbxe/index.php?_filter=search&mid=lecture_tip&search_target=title&search_keyword=mfc&document_srl=571672 님의 것을 참고하여 만들었습니다.
421
1
0
윈비
윈비·2023-08-28
시리얼 통신을 수행하면서 A에서 B로 정지 명령을 내렸을 때, B가 바로 동작하지 않는 문제가 발생하고 있다고 하셨는데요. 먼저, 데이터가 B의 수신 버퍼에 저장되어 있다가 나중에 처리되는 것인지, 아니면 B가 작업을 하는 동안 명령을 수신하지 않는 것인지 확인하기 위해서 다음과 같은 몇가지 방안은 다음과 같습니다. Buffer Check B쪽에서 수신 ...
코딩초보코딩초보· 5년

질문c++ for 문

#include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { cout << i << "입니다" << endl; } } 여기에서 for (int i = 0; i < 10; i++)을 for (int i = 0; i < 10; i)으로 바꾸면 왜 0입니다가 무한반복으로 나오나요?
1.7K
2
0
좋은세상
좋은세상·2020-08-14
#include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { cout << i << "입니다" << endl; } } for(int i = 0; i < 10; i++)해석해드린다면 i는 0부터 시작해서...
kimho
kimho·2020-08-10
현재 사용하신 for문에 아래와 같이 3가지 인자가 사용중입니다.   첫번째 인자 int i=0;  두번째 인자 i < 10  세번째 인자 i++   여기서 첫번째 인자는 초기값입니다. 반복을 돌 때 시작되는 첫번째 값이고 현재는 i라는 변수에 0이라는 초기값을 넣었습니다.   두...
아는형아는형· 5년

개발자 신입 또는 주니어 개발자분들 안계신가요? (C# 또는 C++)

눈팅만 하다가...제가 일하고 있는 팀에서 구인을 해서 정보를 올립니다. 혹시, C#/C++을 다루어보셨고 연구 개발직을 희망하는 분들은 한번 눈여겨 봐주세요. ( 지원서 제출 기한은 8/11 까지 입니다)   [요약] 직무: 알고리즘 개발, C#을 통한 프론트 엔드 개발, 논문 조사 및 연구 경력: 신입 ~ 2년 회사규모 / 구분: 800명 이상 / 공기업 주요업무: 3D 프린팅 SW기술 관련 연구&개발 및 운영 지원 모집인원: 2~3명 위치: 신분당선 판교역 인근 [개발팀 소개] 안녕하세요. 한국전자기술연구원 지능융합SW연구센터의 3D프린팅 SW 개발팀입니다. 한국전자기술연구원은 800명 이상의 연구원들이 모여 중소기업이 필요로 하는 기술을 연구∙개발하여 지원하는 공기업입니다. 저희 3D프린팅 SW팀이 속해 있는 지능융합SW 연구센터는 판교에 위치해 있으며, 주로 3D프린팅과 제조산업에 필요한 기술의 개발 및 연구를 진행하고 있습니다. 상용 3D프린팅 SW를 개발하고 있으며 실제 중소기업에 SW를 배포하고 사용자 의견을 반영하여 유지보수 및 기능 향상을 위한 연구도 합니다. 팀은 수평적이며 자유로운 분위기입니다. 하고 싶은 개발이나 연구가 있다면 적극 권장하며 지원해줍니다. 3D 그래픽스나 3D 프린팅과 관련하여 해보고 싶은 연구, 개발이 있으시다면 환영합니다. [업무 소개] 3D 프린팅을 활용한 미래형 제조 산업에 필요한 상용 SW 개발 국내외 논문 연구 및 3D프린팅 SW에 필요한 모듈과 알고리즘 개발 (3D 그래픽스, 데이터 전처리, 기계학습) 상용 SW (C++/ C#기반) 개발 및 유지보수 국가 기술 과제 선정을 위한 기획 업무 [자격 조건] C#, C++ 개발 경험이 있으신 분 C#/C++을 활용한 산업용 SW 개발에 관심이 있으신 분 3D그래픽스 또는 데이터 처리 부분에 대한 관심이 있으신 분 [우대 사항] WPF 개발 경험이 있으신 분 정보통신학, 컴퓨터공학 등 관련 학과를 졸업하신 분 알고리즘 개발에 적극적인 분 품질 좋은 소프트웨어 개발을 위해 지속적으로 노력해오신 분 트렌드 보다는 원천 기술 연구에 대해 관심이 많으신 분 기획, 디자인, 운영 등 다양한 직군과 원활한 커뮤니케이션이 가능하신 분   [혜택 및 복지] 배움에 최적화되어 있는 환경 제공 (업무에 필요한 도서, 세미나, 교육 비용 지원) 최상급 업무 환경 제공 (기술 개발에 필요한 SW, 하드웨어 및 액세서리 등 제공) 해외 학회, 컨퍼런스 참가 기회 제공 [일정] 서류제출일: 2020. 08. 11 (화) 접수처: [email protected] 지원 사이트 링크 (링크로 들어가서 ‘응모지원서’를 다운받아 작성하면 됩니다)  ---> 지원란에 &#39;근무지: 성남 판교 / 지능융합SW연구센터 3번 항목&#39;을 적으시면 됩니다. https://www.keti.re.kr/notice/employment.php?sp=%26sp%5B%5D%3D1%26sp%5B%5D%3D2%26sp%5B%5D%3D3&pn=1&st=&at=view&idx=143933
2.0K
0