inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CAN통신 기초와 자동차 전체 구조

Data Frame

ACK

해결된 질문

119

데브수달

작성한 질문수 8

0

만들어진 프로그래밍 코딩을 보다보면
CAN_SUCCESS := 0
CAN_Fail :=1 이라고 한 것이
상수로 정의되어있는 경우가 있던데요.
결국은 ACK 리시브에 대한 값을 할당함으로써
해당 값이 성공이냐 실패에 따라서
또 다른 코딩을 하게 되는거겠네요
이해한 게 맞을까요?

CAN uds

답변 2

0

윤우주

넵, 이해하신게 맞습니다.

제가 생각하기에 프로그래밍은 제품의 동작도 중요하지만, 에러 처리의 부분도 상당히 중요하다고 생각합니다. 그렇기 때문에 ERROR를 판단했을 때, 이에 대한 처리를 해주어야 하며 그에 따라 위처럼 코딩되어 있을 수도 있습니다.

 

이를 FSM (Finite State Machine) 이라 칭합니다. 임베디드 프로그램은 유한한 State 내에서 동작하며 각 State에 맞춰 동작하도록 프로그래밍 되어 있을 것입니다. 여기서 Finite에는 Success, Fail 등의 State가 존재할 수도 있을 것이구요. 해당 용어도 참고하시면 좋을 것 같습니다.

 

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 해달님.

질문해주신 CAN 통신에서 CAN_SUCCESSCAN_FAIL를 상수로 정의하여 ACK 리시브에 대한 값을 할당하는 부분에 대해 이해한 것이 맞으신지 궁금해 하신 것 같습니다.

CAN 통신에서 CAN_SUCCESSCAN_FAIL 같은 상수를 정의하여 ACK(ACKnowledgement) 리시브의 결과를 나타내는 것은 일반적인 프로그래밍 패턴입니다. 즉, CAN 메시지가 성공적으로 전송되었는지 실패했는지를 나타내기 위해 이러한 상수를 사용합니다. 성공 시에는 CAN_SUCCESS 값을, 실패 시에는 CAN_FAIL 값을 할당함으로써 이후의 처리를 달리하게 됩니다.

아래의 관련 질문에서 더 자세한 답변을 확인해보세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

VN장비와 Trace32를 하나의 PC에 연결하는 이유?

0

4

1

6:19 다이어그램에서 CANH CANL사이에 SPLIT 핀은 뭐하는 핀인가요?

0

22

0

candb와 data

0

85

1

Bus Off(버스 오프) 상태가 흔히 발생되는 상태인가요?

0

248

1

Canoe 관련 강의 문의

0

90

1

트리거 컨디션 진입 방법

0

59

1

dbc 파일 적용 여부

0

92

1

업데이트와 OTA

0

102

1

차량용 이더넷 통신 강의 계획은 없으신가요?

0

114

1

펌웨어 훼손 & 전자서명 훼손

0

109

2

UART

0

72

2

CANoe CAPL을 이용한 CAN통신으로 펌웨어 업데이트가 가능한가요?

0

209

1

강의자료 문의

0

82

2

capl 에 dll 로드하는 방법

0

244

0

19 02 08 & 19 02 09

0

68

1

부트로더도 업데이트를 하나요?

1

152

2

interactive generators 에서 Test ig 창 오류

0

86

1

CAPL panel 관련 문의

0

110

1

로깅 파일 재생속도

0

128

1

B라는 제어기가 CAN 버스에 CAN 신호를 송신하고 있다면 A제어기는 B제어기의 작업이 끝날 때까지 CAN 신호를 송신 못하나요? 작업이 완료될 때까지 기다려야 하나요?

0

114

2

ISO 14229 문서를 확인하고 싶은데요.

0

273

2

DLC란 것이,

0

162

1

PDU라는 개념도 있나요?

1

242

1

강의자료 제공 안되나요?

1

220

1