본문 바로가기

MCU32

[STM32 HAL] nRF24L01+ 라이브러리 예전에는 데이터시트랑 다른 라이브러리를 참고해가면서 짰는데 몇 번 만들어보니 이제는 데이터시트만 보고도 짤 수 있는 정도가 됐다. 라이브러리를 처음 만들어봤던 칩이 mpu6050이였는데 그 때에 비하면 진짜 많이 발전했다. 남들 편하게 쓰라고 이것저것 다 넣은 라이브러리는 아니고 기본 송수신만 구현해놨다. 나 쓸라고 만든거라 별거 없다... https://github.com/mokhwasomssi/stm32_hal_nrf24l01p.git GitHub - mokhwasomssi/stm32_hal_nrf24l01p: nRF24L01+ library with STM32 HAL driver nRF24L01+ library with STM32 HAL driver. Contribute to mokhwasomssi.. 2021. 8. 5.
[STM32F411xC/E] 외부 인터럽트 1 RM0383 문서의 Interrupts and events 부분을 읽고 정리한 내용입니다. NVIC (Nested vectored interrupt controller) 특징 52 maskable interrupt controller 16 programmable priority levels low-latency exception and interrupt handling power management control implementation of system control registers Interrrupt and exception vectors 벡터 테이블은 길어서 따로 첨부 안함 EXTI (External interrupt/event controller) 외부 인터럽트/이벤트 컨트롤러 인터럽트/이벤트.. 2021. 8. 2.
[STM32] SSD1306 라이브러리 조종기에 드론 배터리 잔량을 알 수 있는 디스플레이가 있으면 좋겠다 싶었다. 그래서 가장 유명하고 많이 쓰이는 모듈을 하나 사서 라이브러리를 만들기 시작했다. 직접 라이브러리 만드는 이유는 그냥 어떻게 굴러가는지 알고 싶어서다. 다른 오픈 라이브러리 갖다 쓰기 싫었음. 과정은 1. 데이터 시트 정독. 2. 다른 오픈 라이브러리 보면서 구현해야하는 기능 찾기. 3. 내가 라이브러리 만들어보기. 어차피 해야하는 건 정해져있기 때문에 내 식대로 만든다고 크게 달라지는 건 없다. 그냥 내가 만들어서 익숙하다는 거...? 약간의 커스텀...? 개발환경, 예제 펌웨어, 라이브러리, 유저 설정은 깃허브 리드미에 정리해두었다. 깃허브 링크 mokhwasomssi/stm32_hal_ssd1306 SSD1306, I2C,.. 2021. 7. 13.
[STM32] dshot 프로토콜 라이브러리 dshot은 드론 모터를 구동하기 위한 ESC 디지털 프로토콜입니다. 보통 드론 만들 때 oneshot같은 아날로그 프로토콜을 사용하는데 저는 그냥 dshot이 멋있어보여서 이거로 하기로 결심했습니다. ... 하다가 하다가, XX일까지 안되면 걍 oneshot 쓰자 했는데 다행히 됐습니다. 다행입니다. 깃허브 링크 mokhwasomssi/stm32_hal_dshot Dshot, Drone ESC, STM32 HAL. Contribute to mokhwasomssi/stm32_hal_dshot development by creating an account on GitHub. github.com 제가 작성한 dshot 프로토콜 라이브러리입니다. 가져다 쓰기는 불편한 코드지만 동작 과정에 대해서 알기 쉽게 작.. 2021. 7. 8.
HAL_TIM_PWM_Start_DMA 함수의 딜레이 HAL_TIM_PWM_Start_DMA 함수를 이용해서 pwm 신호를 하나만 보낼 때는 문제가 없다. 문제는 2개 이상의 pwm 신호를 보낼 때 어느정도 딜레이가 생긴다는 점이다. HAL_TIM_PWM_Start_DMA 함수에서 처리하는 내용이 많아서 딜레이가 생기나 싶었지만 그게 원인은 아니였다. 맨 마지막에 dma request를 주는 식으로 두 신호간의 간격을 좁힐 순 있지만 아예 없애진 못했다. 다른 자료에서 신호를 재전송하기 전에 dma request를 꺼줘야한다는 말을 하길래 이유는 모르겠지만 일단 tc interrupt시에 dma request를 꺼주니 딜레이는 거의 사라졌다. 이유가 뭘까? 🤔 2021. 6. 12.
[STM32CubeIDE] 다크 모드 Dark Theme을 적용하고자 합니다. 기본 Dark theme은 특정 상황에서 글씨가 잘 보이지 않는 버그가 있습니다. 그래서 다른 dark theme을 설치해서 적용해보도록 하겠습니다. Help에 Eclipse Marketplace 들어가셔서 theme 검색하시고 맘에 드는거 설치하시면 됩니다. 저는 Darkest Dark Theme with DevStyle 테마를 설치하였고 NightLion을 선택해서 사용하고 있습니다. 2021. 5. 27.