MICOM에서 function call에 의한 UART 통신 메커니즘
flag(fix_ready)를 사용한다.
이 값의 변경 유무에 따라 trans가능한 데이터 혹은 전송가능 여부에 대한 판단 signal로 사용한다.
해당 flag가 세워졌을 시, 해당 flag를 주기적으로 관찰하는 routine(HOST_MAIN())에서 전송을 하기위한 START_TX() function을 호출.
UART_TX_MODULE()을 통해 STMK = 1(TX Int disable)을 0로 설정. 그 후
uart_tx_interrupt 주기적으로 발생.
uart_tx_interrupt() function으로 이동하여 UART_TRN()(실제 UART 전송을 담당) function 실행.
전송 하고자하는 Data가 담긴 TXbuf[POINTER++]의 포인터 증가로, 한 바이트씩 TXD1의 전송 레지스터에 값을 할당(store).
전송 완료 후 10ms으로 수행중인 timer interrupt에 의해 mutex 처리.(module_tx_trm flag)
(이미 UART 통신을 통해 데이터가 전송중인 경우, 추가적인 데이터 전송을 막기위한 용도.)
반응형
'Software > MICOM' 카테고리의 다른 글
I2S(Intergrated Interchip Sound) 통신 (12) | 2017.08.23 |
---|---|
레지스터란? (0) | 2017.08.18 |
Renesas 개발일지(1) (0) | 2017.01.04 |
GPIO(General Purpose Input Output) 란? (0) | 2016.12.26 |
개발자가 적어본 마이컴/마이크로프로세서 이야기 (0) | 2016.12.23 |