1. send 함수 분석
- 내가 보내고 싶은 한 바이트의 숫자에 따라 패킷 생성해서 HIGH/LOW 로 바꿈
- DIO,SCLK 선 사용
- 이때, 맨마지막 FOR문이 끝나고 나면 HIGH로 바꾸기에 클럭의 기본상태는 HIGH임
=> H L H L H L ... 의 클럭 생성 - 이때, main함수에서 단순히 send(0xF8); 수행시 FND에 출력 안됨
1-1. FND에 7 출력
=> send(0b001); 부터 아래 사진처럼 소스코드 추가해야 정상적으로 실행
=> send_port가 기본 단위의 함수인데 이때 내가 보낼 데이터와 0b0001을 보내고 RCLK을 HIGH -> LOW 하면 내가 쓰고 싶은 데이터가 FND에 써짐
=> 이때, 0b0001은 FND에 4개 LED가 있기 때문에 0001, 0010, 0100, 1000은 각각 1/2/3/4번째 led를 키는 것을 의미
1-2. digit4_replay 함수 분석
- FND에 LED가 총 4개 있을 때 4 3 2 1 이라 한다면 각각 쓸 데이터 n에 따라 FND 켜지는 위치 제어
ex) 789 => n1 = 9, n2 = 8, n3 = 7, n4 = 0 - showZero가 true이면 0이 출력되게하여 만약 98인 경우 fnd에 0098로 출력되게
2. 소수점 표현하는 소스코드 작성하기
- 0X7F 와 &연산하면 숫자가 어떤 숫자이든 MSB는 & 연산 결과가 0이므로 소수점이 찍히게 됨
'임베디드' 카테고리의 다른 글
[오제이 튜브의 임베디드 강의] 23강. 온도센서를 붙여보자! (0) | 2025.01.26 |
---|---|
[오제이 튜브의 임베디드 강의] 22강. STM32에서는 SPI기능을 제공한다구! (0) | 2025.01.26 |
[오제이 튜브의 임베디드 강의] 20강. SPI통신 제대로 배워보자! (0) | 2025.01.25 |
[오제이 튜브의 임베디드 강의] 19강. FND제어(실무 노하우) (1) | 2025.01.24 |
[오제이 튜브의 임베디드 강의] 18강. 내 힘으로 스위치 회로 만들기 (0) | 2025.01.24 |