시리얼 통신을 하다보면 오류가 나곤 하는데 어디서 오류가 나는지 확인하고 싶을 때가 있다. 그럴때 오실로스코프로 파형을 찍어서 1,0을 직접 확인할 필요가 있는데, 이때 주의해야 할 점이 있다. (참고로 나는 RS485 통신을 사용했다. ) putty나 teraterm 등으로 문자를 보낸 부분을 오실로스코프로 찍어보면 파형이 나온다. 처음에 나는 '1'을 보내서 Hex(16진수)로 확인하면 0000 0001 이렇게 파형이 찍힐 줄 알았다. 하지만 내가 보낸 건 숫자 '1'이 아닌 문자 '1'이었고, 이를 아스키코드표에서 찾아보면 16진수로 0x31, 2진수로 0011 0001이다. 그리고 또 주의해야 하는 게 파형이 0011 0001로 순서대로 나오는 게 아니라는 것이다. 통신 인터페이스에 따라 MSB(..
1. UART로 확인하기 UART로 프린트하고 싶은 걸 찍어서 putty 혹은 터미널로 확인하기. 2. LED로 확인하기 PORTE = jsontemp[0]; 이런식으로 코드를 짜서 실행시켜보면 jsontemp배열의 0번째 char를 확인할 수 있음. 주의: char는 1byte 즉 8bit라 가능한 것. int는 4byte라 확인 안 됨. ex) 00110010 -> 10진수로 50 -> 16진수로 0x32 -> 아스키코드로 '2' 3. 디버깅 기능 이용하기 하지만 내가 가지고 있는 stlink는 싼 거라 디버깅 기능이 안 됨. 되는 비싼 장비를 이용해야 함. 4. 비주얼스튜디오로 확인하기 대충 비슷하게 코드를 짜서 비주얼 스튜디오로 돌려보며 디버깅을 해볼 수 있음. 하지만 지금 내 상황이 비주얼스튜디..