현재 저는 마이크로 컨트롤러 SPI를 코딩하고 관련 코드 샘플을 학습하고 있습니다. 누구든지 전송 버퍼 레지스터와 수신 버퍼 레지스터 (TXBn & RXBn) 사이의 사용법과 차이점을 설명 할 수 있습니다. 온라인으로 검색하지만 설명 할 좋은 예제가 없습니다.사용량과 송신 버퍼와 수신 버퍼의 차이 (txb & rxb)
2
A
답변
1
특정 마이크로 컨트롤러/프로세서에서 수신 버퍼 레지스터는 데이터 수신 중에 업데이트됩니다 (즉, 수신 된 데이터가 있어야 함). 이 레지스터는 패킷 도착시 폴링 또는 인터럽트 형태로 검사되어야하며 따라서 패킷은 전송/처리되어야한다. 일반적으로, 읽기 전에 INT 플래그를 설정하고 읽기 후에는 INT 플래그를 설정하는 규정이있을 수 있습니다.
전송 버퍼 레지스터는 전송할 데이터를 저장합니다. 이것 역시 전송이 발생했는지 또는 여전히 존재 하는지를 알려주는 INT 플래그를 가질 수 있습니다. 데이터를 기록하기 전에이 데이터를 검사하여 이전 데이터가 전송 된 후에 만 데이터가 기록되도록하거나 데이터 덮어 쓰기를 방지해야합니다.
오늘날 많은 마이크로 컨트롤러/프로세서에는 전송 및 수신을위한 다중 대기열 및 관련 상태 레지스터의 형태로 메커니즘이 있습니다.
어떤 마이크로 컨트롤러를 추천하고 있습니까? –
마이크로 컨트롤러는 주변 장치로 전송할 바이트를 송신 버퍼 레지스터에 씁니다. 마이크로 컨트롤러는 수신 버퍼 레지스터로부터 주변기기로부터 수신 된 바이트를 읽는다. – kkrambo
PIC16F676 및 MCP2515 SPI의 데모 코드를 읽었습니다. 나중에 나는 PIC16F를 18F2455로 대체하여 또 다른 디자인을 계획 할 것이다. – TJCLARK