Universal Asynchronous Receiver transmitter
비동기식만 됨 // 동기식은 안됨
pc와 타겟보드 통신할때 가장 기본적인 통신포트
USB를 컴퓨터 에 꽂으면 포트가 몇번 포트인지
확인할 수 있다. (장치관리자에서 확인)
USART 는 호환성이 좋으나 1대1만 되서 확장성이
떨어짐
원래는 위와같은 형식이 있으나 M3가 부터는STLINK PART가 있어서 쓰지 않는다.
Received Data
Transmitted Data
Signal Ground
USART3번을 씀 : 동기식과 비동기식이 모두 가능함
USART 가 되면 동기식 + 비동기식 다 된다.
ST-Link 파트
USB 인터페이스로 PC와 연결됨
closed 된 부분 0ohm 저항이 붙어있다.
TX 데이터 보내기
RX 데이터 받기
SW_RX
IRDA_OUT 적외선 통신 출력
IRDA_IN 적외선 통신 입력
RTS Request to send 수신 가능시 low로 신호 변환
CTS clear to send cts 신호가 low 시 데이터 전송
CK CLOCK 동기식 통신을 할 때 사용하는 클럭 핀
stm32f429_hal_uart.h
BaudRate 통신에 대한 속도 얼만큼 하는지
8bit 1byte 를 보낼 수 있다.
시작bit 스탑비트가 있다.
parity 데이터를 제대로 보냈는지 안보냈는지 확인하는 비트
mode 비동기식인지 동기식인지 확인
hwflowctl 하드웨어 제어하는거
oversampling 데이터가 오버했는지 않했는지
HAL_UART_Init()
Transmit 송신
Receive 수신
Transmit_IT 송신 인터럽트
Receive_IT 수신 인터럽트
Transmit_DMA () 직접 메모리에 접근해서 보낸다
Receive_DMA () 직접 메모리에 접근해서 받는다.
Interrupt 는 콜백 함수를 써야함
interrupt가 falling? 보다 빠르다
폴링 interrupt
HAL_UART_TxCpltCallback()
Timeout (1000) 1초(x초)동안 데이터 수신이 안되면
에러를 띄워라 했을때 timeout 을 쓴다.
폴링모드
인터럽트 모드
GPIO EXTI UART
HAL - GPIO,EXTI,UART - ~
콜백함수 반환값없다.
Middleware 에서 LWIP Enabled check 체크안하면 GPIO 안됨 최신버전에서는 체크안해도 됨
connectivity 통신과 관련된 카테고리
uart3 에서 모드는 asynchronous 로하고
hardware flow control disable 로 설정
폴링모드시에는 필요없지만 interrupt 모드시에는
enable 체크해줘야한다.
PD8~9
NVIC 에서 USART3 global interrupt 체크
stdio.h 없어도 코드는 짜진다.
problems 에서 확인가능
command shell
serial port
iso 8859
new 누를시 팝업창 뜸
COM3
Baud rate, Data size , Parity ,Stop bits
uart (connected) 통신을 가능하게함
tera term도 사용 가능
이미 cubeide 에서 제공하고있음
\r
polling mode 할 상태를 체크한다.