본문 바로가기

프로젝트 기록176

[STM32] HAL_UART_Transmit()/ Sprintf 사용법 내가 사용하는 STM32NUCLEOF446RE 보드의 경우 USART2를 통해 컴퓨터와 시리얼 통신을 하는데, 이 값을 보통 teraterm으로 받아 변수를 확인한다. HAL_UART_Transmit()은 UART통신으로 원하는 값을 보낼 수 있다. 1. HAL_UART_Transmit() UART_HandleTypeDef huart2; // 1. Direct write HAL_UART_Transmit(&huart2, "a", 1, 10); // 2. Variable write uint8_t rx_data = 'a'; HAL_UART_Transmit(&huart2, &rx_data, 1, 10); // 3. String write uint8_t *tx_data = "Init."; HAL_UART_Tran.. 2023. 1. 12.
[LoRa] 3편. 통신을 위한 안테나 정리 0. 진행상황 안테나 배송이 왔다. 제품명은 YOTENKO 10 dBi 433Mhz Antenna Half-Wave Dipole SMA Male Antenna Cable-3M with Magnetic Stand Base for Ham Radio Signal ... 이다. Amazon.com: YOTENKO 10 dBi 433Mhz Antenna Half-Wave Dipole SMA Male Antenna Cable-3M with Magnetic Stand Base for Ham Radio Signal Booster Wireless Repeater Walkie Talkie : Electronics 뜯어보니 다음과 같았다. 실제로 봐도 SMA, ipex타입의 규격이 다르다. 또, SMA타입과 RPSMA타입이.. 2023. 1. 11.
[LoRa] 2편. 로라 모듈이 연결된 보드끼리 연결 [2편. 로라 모듈이 연결된 보드끼리 연결] 0. 계획 순서 tx측에 코드도 포함된 코드를 보드에 업로드 해서 test해 볼 것이다. 내가 테스트 한 tx코드는 타이머 등 기타 관련 코드도 합쳐져 있는 코드다. 먼저 배열 값 주고받기 테스트를 해서 통신 상태 OK 값을 return 받는다. 송신을 하게 되면 30~49까지의 값이 들어와야 하고, 우리가 선택한 rx 배열의 index에 따라 30, 31, 32, 48이 들어올 것이다. 1. 코드 알고리즘 정리 LoRa 개체인 myLoRa를 만들고 myLoRa = newLoRa()를 통해 생성자를 호출한다. myLoRa를 통해 핀설정을 해주고 그 밑에는 주파수와 대역폭 같은 것을 설정할 수 있다. 주파수의 경우 433Mhz를 사용할 것이기 때문에 바꾸지 않았.. 2023. 1. 11.
[STM32제어] UART 통신, teraterm 이용해서 값 주고받기 0) 실습 목표 및 배경 배경: 이 실습을 하는 이유는, 내가 원하는 값을 UART를 이용해서 입력하고, Rx측에서 SPI기반 LoRa통신으로 그 값을수신하는 실습을 해보려고 UART 송수신 기능 구현을 우선적으로 해보는 것이다. 목표: USART 수신 인터럽트를 사용해서 수신 데이터를 링 버퍼에 저장하고, 그 데이터를 읽어 송신하는 Echo동작을 한다. 키워드: - ring buffer(링 버퍼) - USART통신 1) Pinout& Configuration 설정 tera term 을 이용해서 출력을 확인 할 때는 보통 Tx출력만 확인하고, 그 때는 Polling방식으로 함 하지만 보내는 데이터를 Polling 방식으로 보내게 되면 1. 수신 데이터 유실 2. 프로그램 구현 시 오류 가능성 상승 등의 .. 2023. 1. 10.
[STM32] teraterm에서 시리얼 입력이 안될 때 2023. 1. 10.
[STM32 CUBE IDE] 프로젝트에 라이브러리 파일 추가하기 방법은 2가지가 있다. 1) Src폴더에 .c파일을 추가하고, Inc폴더에 .h파일을 넣고 refresh해주는 방법, 2) 그리고 Library폴더에 따로 해당 라이브러리 폴더를 만들어 인식하도록 해주는 방법 이 2가지를 모두 해보겠다. 1) Src폴더에 .c파일을 추가하고, Inc폴더에 .h파일을 넣고 refresh해주는 방법 1. 라이브러리 파일을 다운 받는다. 보통 .c파일, .h파일로 이루어져 있다. 2. .c는 CUBE IDE프로그램에서 프로젝트명>Core>Src .h는 프로젝트명> Core > Inc 에 넣어준다. 그럼 위 창이 뜨게 되는데, Copy files를 해주면 된다. 그리고 프로젝트를 Refresh해준다. 그럼 추가 끝~ 2) 그리고 Library폴더에 따로 해당 라이브러리 폴더를 .. 2023. 1. 10.