반응형 분류 전체보기401 플로팅(Floating)현상이란? 플로팅 현상이란 "떠 있다"라는 뜻으로 아무것도 연결되어있지 않아 전압을 모르는 상태이다. 사실 나는 아무것도 연결이 되어 있지 않은 상태라면 0V라 생각했지만 아니었다. 마치 C언어에서 변수를 선언만 할 때 0이 할당될 것 같았지만 쓰레기값이 존재하는 느낌일까...? 예를 들어본다. 1. 아래의 상황은 입력 핀에 5V를 입력받고 있다. 2. 아래의 상황은 입력 핀에 0V를 입력받고 있다. 3. 그렇다면 아래의 상황은 5V 일까 0V 일까?4. 그렇다면 아래의 상황은 5V 일까 0V 일까? 3번의 경우 입력 핀에 어떠한 전압도 존재하지 않아 전압을 측정할 수 없다. 4번의 경우에는 스위치를 닫힌 상태로 하면 5V 또는 0V의 전압을 가하지만 스위치가 열린 경우는 전압을 받지 않고 있기 때문에 5V인지, .. 0. 이론 2022. 3. 22. [아두이노] 아두이노 쓰레드 사용(FreeRTOS) 먼저 RTOS란 Real Time Operateing System으로 직역하면 실시간 OS이다. 윈도우, 리눅스와 달리 임베디드용과 같은 곳에 적재하기 위한 경량 OS이다. 그러므로 다른 OS에 비해 지원하는 기능은 적지만 빠르다. FreeRTOS는 예상했다 싶이 무료이다. 먼저 [툴] - [라이브러리 관리]에서 아래의 사진과 같이 FreeRTOS 라이브러리를 설치한다. 우노, 나노, 레오나르도, 메가를 지원한다. 이후 소스코드를 작성한다. #include void setup(){ Serial.begin(9600); Serial.println("Setup"); xTaskCreate(Task1, "Task1", 100, NULL, NULL, NULL); xTaskCreate(Task2, "Task2", 1.. 프로그래밍/Arduino 2022. 3. 15. [C/C++] #define과 const 차이 #define, const 모두 상수를 처리할 때 사용한다. #define은 전처리기에서 수행되며 단순히 값을 치환하는 구조이며 const는 메모리를 할당받는 변수이다. 즉 #define은 데이터가 저장된 메모리 공간을 가르키는 리터럴 상수이며 별도의 메모리를 할당하지 않는다. const는 심볼릭 상수로 별도의 메모리를 할당받는 변수이므로 type을 지정해주어야 한다. stack영역에 할당되기에 필드종료시 메모리에 해제된다. 추가적으로 const의 경우 클래스 이니셜라이저는 생성자가 호출되기 전에 완료가 되기 때문에 const 변수를 초기화할 수 있다. 아래는 const 변수의 값을 0으로 지정했지만 이니셜라이저 특징으로 const의 변수 값을 초기화하는 코드이다. #include class Test {.. 프로그래밍/C,C++,C# 2022. 3. 4. Oracle VirtualBox 64bit OS 설치 Oracle VirtualBox를 설치하면 32bit밖에 보이지 않는 경우가 있다. BIOS로 진입하여 가상머신 설정을 해줘야한다. 1. [Security] - [System Security] - [Virtualization Technology]를 "Enable"로 변경한다. 2. Windows 기능 켜기/끄기를 검색하여 실행 3. [Hyper-V] 체크 해제 4. 재부팅후 64bit 유무 확인 * 참고 - 나는 GIGABYTE 사용자인데 바이오스마다 Virtualization Technology의 명칭과 경로가 다른듯 하다 GIGABYTE는 [Advanced Frequency Settings] - [Advanced Core Setting] - [SVM Mode]를 "Enable"한다. 이외 다른 환경은.. 기타 2022. 2. 24. [AVR] dep/main.o.d: No such file or directory 에러 fatal error: opening dependency file dep/main.o.d: No such file or directory 단순 호환문제 보통 AVR Studio4를 윈도우 10에 설치시 에러가 발생 "C:/WinAVR-20100110/utils/bin" 에 첨부파일인 "msys-1.0.dll"를 덮어쓰기. 유의할점은 "C:/WinAVR-20100110/bin"이 아닌 util폴더의 bin폴더 "C:/WinAVR-20100110/utils/bin"에 붙여넣기 프로그래밍 2022. 2. 7. [한글 hwp] 한영 자동변환 끄기 [도구] - [글자판]에서 "글자판 자동변경"을 체크 해제 응용소프트웨어/한글(hwp) 2022. 2. 4. Windows 서비스 등록 먼저 아래의 instsrv.exe와 srvany.exe를 다운받는다. 다운받은 instsrv.exe와 srvany.exe를 C:\Windows\System32 에 위치한다. (명령 프롬프트에서 경로 지정만 잘한다면 위치는 상관없음) 관리자권한으로 명령프롬프트 실행 후 아래와 같이 명령어를 입력한다 instsrv.exe [서비스 이름] srvany.exe 실행창에서 "services.msc" 또는 검색창에서 서비스를 검색하여 서비스 창을 띄운 후 등록한 서비스 이름을 찾는다. 우클릭으로 속성이나 자동시작 유형등을 설정한다. [실행]창에서 "regedit" 또는 검색창에 "레지스트리 편집기"를 입력하여 실행 [HKEY_LOCAL_MACHINE] - [SYSTEM] - [CurrentcontrolSet] - .. 프로그래밍 2022. 1. 19. 부팅시 인터넷 자동실행 [Window + R] 또는 [실행] 에서 “shell:startup” 입력 후 확인 사용환경에 따라 경로는 다를수 있지만 아래와 같은 폴더가 열릴 것이다 [특정 사용자] ex) user C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup [모든 사용자] C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 폴더에 실행하고 싶은 프로그램 위치한다. 만약 특정 페이지를 보이고 싶다면 우클릭하여 [속성] - [대상] 입력락 맨 끝에 주소를 입력 "C:\Program Files\Google\Chrome\Application\chrome.exe" https://park-du.. 기타 2022. 1. 19. [Python] 라즈베리파이 LCD I2C 통신 LCD에 rs, en d1~d6까지 직접연결하면 Adafruit의 라이브러리로도 사용이 가능하다. 일단 Adafruit의 라이브러리에는 i2c 용 라이브러리가 함께 존재한다. 그러나 무슨이유에서인지 작동하지 않는다. 소스코드를 까보면 슬레이브 주소자체가 다른거같기도한데... 정확한 이유를 모르겠다. 어쨋건 Adafruit 회사인 경우 I2C 보드가 따로 필요한거 같고 아두이노에서 사용하던 LCD 라이브러리는 아두이노 용이니 ... 파이썬 라이브러리가 필요하다. 라이브러리는 두개를 찾았다. 하나는 엘레파츠, 하나는 라즈베리파이가이에서 제공한다. 엘레파츠 라이브러리 깃허브 https://github.com/eleparts/RPi_I2C_LCD_driver 라즈베리파이가이 깃허브 https://github.c.. 프로그래밍/Python 2022. 1. 7. DMA란? (Direct Memory Access?) DMA란 Direct Memory Access의 약자로 말 그대로 메모리에 직접적으로 접근하는 방법을 말한다. 데이터를 가져오거나 사용할 때에는 항상 CPU가 필요하다. 근데 CPU는 접근 속도가 느릴뿐더러 이외에도 하는 일이 많다. 만약 메모리에 대량의 데이터를 전송한다면 CPU도 먹통이 되는 것이니 시스템 전체에 영향이 가해질 수밖에 없다. 그렇다면 DMA는 어떤 식으로 접근을 하는가? DMA를 제어하는 DMAC(Direct Memory Access Control)가 있다. CPU가 DMAC한테 주소, 데이터 길이 등을 알려주면 DMAC가 처리를 한 뒤, HW 인터럽트로 처리가 끝났음을 알린다. 그럼 DMAC가 데이터를 처리하는 동안 CPU는 다른 일을 할 수 있는 것이다. 참고로 CPU가 DMAC한.. 0. 이론 2021. 12. 23. 임베디드 개발자 필수 기술 먼저 라즈베리 같은 제품을 활용해 무언갈 만들고 싶었다. only 소프트웨어가 아닌 하드웨어도 같이 그러기엔 프로그래밍 기술밖에 가진게 없었고, 이것도 딱히 내세울정돈 아니라 생각했다. 그래서 무작정 스택오버플로에 검색해봤다. https://stackoverflow.com/questions/17210254/embedded-developer-what-skills-are-important/17223447#17223447 Embedded Developer, what skills are important I want to make a list of things that need to learn that is valuable for my career. What skills do you think are vital.. 기타 2021. 12. 21. [한글 hwp] 글자정렬이 깨질 때 수정 한글(hwp)을 사용하다 보면 아래의 사진처럼 글자정렬이 깨질 때가 있다. 글이 깨지는 이유는 예를 들어 만약 sunday라는 단어가 있는데 의도치 않게 sun까지가 그줄의 마지막 공간이라 할 때, blabla ~~~~ sun day 라고 줄이 바뀌어진다면 일요일이 아닌 태양날?이 되버린다. 이를 방지하기위해 단어별로 잘라내는데 아래와 같이 URL과 같이 긴 문장같은게 있으면 한문장으로 인식하여 글 정렬이 깨지곤 한다. 왼쪽정렬을 하면 더 이상하다. 해결방법은 해당 문장에 커서를 찍고 [Alt + T]를 누른 후 [줄 나눔 기준] - [영어단위]를 "글자"로 수정한다. 당연히 한글도 긴 문자가 있을 수 있다. 네이버 지식인에서 가져온 가장 긴 단어를 복붙해와봤다. 역시나 깨지는데 이 경우 역시 해당 문장.. 응용소프트웨어/한글(hwp) 2021. 11. 22. 이전 1 ··· 15 16 17 18 19 20 21 ··· 34 다음 반응형