나는 picocom을 사용하여 직렬 포트를 읽습니다. 나는 이런 식으로 16진수 바이트를 표시하려고 합니다(남성):
picocom --imap ???hex -b 19200 /dev/ttyS0
그러나 이것은 작동하지 않습니다. 뭐가 문제 야?
답변1
picocom
매뉴얼 페이지 에서 :
--imap <map> (input mappings)
<map> is a comma-separated list of one or more of ...
picocom --imap spchex,tabhex,crhex,lfhex,nrmhex,8bithex -b 19200 /dev/ttyS0
답변2
정말 "???hex"라고 썼나요? 그렇다면 작동하지 않는 이유입니다.
그러나 가장 논리적인 대답은 picocom에 존재하는 많은 매핑 옵션을 참조하고 있다는 것입니다. 귀하의 라인은 이미 괜찮습니다. 제 생각에는 귀하의 picocom 버전이 이러한 기능을 사용하기에는 너무 오래된 것 같습니다.
예를 들어 Raspberry Pi에 v1.7이 설치되어 있는데 이 옵션에서는 작동하지 않지만 최신 v3.1에서는 잘 작동합니다.
답변3
이것은 ???
문자 그대로의 의미가 아닙니다. The "to hex" mappings (???hex) replace the respective characters with their hexadecimal representation (in square brackets), like this:
매뉴얼 페이지의 문장은 다음을 참조합니다.
• spchex (map special chars (< 0x20 || 0x7f), excl. CR, LF, and TAB to hex)
• tabhex (map TAB to hex)
• crhex (map CR to hex)
• lfhex (map LF to hex)
• 8bithex (map chars with 8th-bit set to hex)
• nrmhex (map normal ascii chars (0x20 <= c < 0x7f) to hex)
내 생각에 당신이 달리고 싶은 것은
picocom --imap 8bithex -b 19200 /dev/ttyS0