본문 바로가기

전체 글

[코딜리티]Binary-Gap 문제 : Binary Gap 구하기 Input 값 N이 주어졌을때 , N을 이진 변환 한 값 중 1사이 0의 갯수를 구하라. 구해진 binary gap 중 가장 큰 값을 return 해 주면 된다. N : 1 - 2,147,483,647 사이의 정수 ex) input 1 : 5,204 ( 0b1010001010100 ) binary_gap1 : 3 input 2 : 1412 (0b1010000100) binary_gap 2 : 4 #include int solution(int N) { int gap = 0; int length = 0; int result = 0; int flag = 0; int status_old = 0; int GapLoc = 0; result = N; while(1) { result.. 더보기
[STM32] VS-Code를 이용한 Cortex 개발 환경 잡기 -3 이전 포스팅에 이어, 컴파일을 위한 MakeFile을 수정 해 보도록 하겠다. 먼저, Open-OCD를 이용한 디버깅이 가능하도록 아래와 같이 MakeFile을 수정 해 준다. 먼저 inerface, target의 경로는 설치된 OpenOcd 내 Share 폴더에 위치 해 있다. 구문은 위 빨간 박스처럼 그대로 선언 하면 되며, MCU 라인업에따라 target만 변경 해 주면 된다. (target 폴더내에서 이름 일치하는걸로 선언 해 주면 끝) 다음으로는 .s파일을 .c로 수정해 줘야 한다.(여기서부턴 노가다 시작이다..) 아래와 같이 .s를 복사하여 붙여 넣기 한 다음, .c 포맷으로 확장자를 변경 한다. 아래와 같이 필요한 부분을 제외하고 삭제 처리한다. (1) 변수 extern 선언 ( 메모리 섹션.. 더보기
[STM32] VS-Code를 이용한 Cortex 개발 환경 잡기 -2 전 포스팅에 이어서, VS-Code를 이용한 개발환경 잡는 방법을 소개하겠다. (사전 준비 사항 - STM32Cube가 설치되어있어야 한다.) (1) GNU Compiler 설치 경로 : GNU Toolchain | GNU Arm Embedded Toolchain – Arm Developer GNU Toolchain | GNU Arm Embedded Toolchain – Arm Developer GNU Toolchain (GCC, Binutils, GDB, newlib) with support for Arm Cortex-M and Cortex-R embedded processors. developer.arm.com (2) make 설치 경로 : http://gnuwin32.sourceforge.net/p.. 더보기
[STM32] VS-Code를 이용한 Cortex 개발 환경 잡기 -1 (소개) 나는 요즘 아래 이유때문에 코드 편집툴을 VS-Code로 정착했다. (1) 원하는대로 테마 구성 가능 -> 폰트 및 색상 디테일하게 커스터마이징 가능 (2) 단축키 커스텀 및 텍스트 자동 완성기능 -> 파일내 모든 변수명을 한번에 바꾼다던지, 텍스트 자동 추천기능을 이용하면 너무나도 편리한 개발이 가능하다. (3) 다양한 개발환경 연계 가능 -> Arduino , AVR, STM32, Python 등등 개발환경 및 언어를 가리지 않고 모두 VS-Code 하나로 관리가 가능하다.!! (이게 가장 큰 장점) (4) 아주아주 가볍다 -> 물론 내컴퓨터 사양이 개발하는데 꿀리는 사양이 아니지만.. 조금이라도 버벅이는걸 참지 못하는 나에게는 최적의 툴이다. (5) 프로젝트 관리가 너무 편함 -> 보통 통합IDE의.. 더보기
블로그 활동 다시 시작! 약 7년 만에.. 임베디드 관련 포스팅을 해 보려고 한다. 6년 동안 회사 생활을 하면서, 개발 능력은 비교할 수 없을 정도로 높아졌지만.... 머릿속에만 있고, 정리된 게 없어, 시간이 지나면 다 까먹을 것 같아 조금씩 정리 해 놓으려고 한다. 그동안 다양한 MCU 제품군을 개발해보면서 쌓였던 노하우들을 정리해보고, 취미 생활로 이것저것 개발해보며 유의미한 삶을 살아보려고 한다! 더보기
gy-86 활용기-1 개인적으로 쿼드콥터 만들기 프로젝트로 센서 통합부터 시작해보려고 한다. 센서는 gy-86 (mpu6050+ms5611+지자기) 이번에는 x축과 y축 센서값을 받아 상보필터로 받아오는것을 테스트 하였다. 아래는 x축 테스트 그래프. 검은색-x raw data 파란색 - mahonyfilter 빨간색 - 상보필터 검은색-y raw data 파란색 - mahonyfilter 빨간색 - 상보필터 아래는 atmega128에서 구동한 상보필터 처리 시간. High 구간동안이 처리하는시간이므로 1ms정도 걸리는것을 알수있다. 테스트용으로 변수선언과 코드를 좀 길게 늘여써서 생각보다 처리시간이 조금 길어지긴했지만, 1ms이내로 줄일수있을거라 예상된다. 아래는 mahonyfilter의 처리시간 1.6ms정도로 상보필터 .. 더보기
jk전자 stm32103zet6 모듈 구입 더보기
쿼드콥터 제어기 주기. 우리 쿼드콥터의 제어기의 주기는 2.5ms 즉 400hz이다. 아래는 오실로코프로 찍어본결과. 새로산오실로스코프 성능이 매우만족. 스크린샷도 usb로 깔끔하게 저장이된다!! 아래는 새로 추가할 예정인 초음파 오실로스코프 사진. 우리가 사용중인 SRF-02는 i2c 방식으로 updata주기가 약 70ms이다. 그전에 read하면 쓰래기값들이 나온다. 그래서 70ms주기로 데이터 받아오고 중간의 딜레이를 줄여 제어기를 최적화. high 부분이 데이터 받아오기까지 주기고. low가 다른 연산 처리이다. 더보기