시작!(184)
-
double x int x
제목을 뭘로 써야할지 모르겠네 이래서 내가 문서작성에 취약한건가ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ double 값에 '1e3' 을 곱해주는데 1e3이 뭔지 모르겠는거다. 그래서 출력해보니 걍 1000 이랑 같은거구나. 12345678910111213141516#include #include int main() { double xd = 921.9; uint32_t f1 = 0; uint32_t f2 = 0; f1 = (uint32_t)(xd*1e3); printf("f1 = %u\n", (uint32_t)f1); f2 = (uint32_t)(xd*1e6); printf("f2 = %u\n", (uint32_t)f2); return 0;}Colored by Color Scriptercs 이러면 출력값은 921900921..
2018.03.16 -
계정 추가 및 공유 폴더 만들기 (useradd, adduser, samba / Ubuntu16.04)
ㅠㅠ ..... 서버 설치하는데 공유 폴더 있느거 까묵고 다날려부렸다..... (식은땀 및 주마등 5짐) 암튼 그래서 .... 다시 만들었다. 이놈의 썩은 귀는 SMB를 SMP 로 듣고 (용케 2개는 또 알아 처먹음) 삽질 하다가 SMB라는걸 알게됨. SMB는 samba의 약자이다. 그런데 서버로 쓰고 있는거라서 그냥 공유폴더 계정을 따로 하나 파기로 했다. 그래서 ... 순서는 . 1. useradd / adduser로 우선 계정을 판다. 둘의 차이점은 adduser : sudo adduser [계정이름] 이 명령어만 입력하면 폴더 까지 다 생성된다. 비번만 설정해주면 끝. useradd : sudo useradd -m [계정이름] -m option써서 폴더도 따로 만들어줘야함. 그리고 추가 정보 입력..
2018.03.16 -
엑셀파일 CSV 파일 C로 만들기
회사에서 장비 시리얼 넘버제작을 했는데 잘못 제작이됐다. 이럴때 그냥 C로 .csv 확장자로 만들면 되는데... 장비 시리얼 번호를 mac address로 해서 16진수다 .. 아래는 엄청 간단하게 짠 소스 ㅋㅋ. 123456789101112131415161718192021222324252627282930313233#include #include int create_marks_csv(char *filename, int start_num, int end_num) { printf("\n Creating [%s.csv] file\n", filename); FILE *fp; filename = strcat(filename, ".csv"); fp = fopen(filename, "w+"); while(start_..
2018.03.16 -
임베디드. 쭈욱- 정리해보자.
MCU (Micro Controller Unit == Microcontroller) : 는 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 정해진 기능을 수행하는 CPU를 말한다. CPU Core, Memory or program 가능한 I/O 를 갖고있다. NOR Flash , EPROM, OTP ROM 등의 메모리를 갖고 있어 정해진 기능을 수행하도록 코딩한다. 기계어 코드가 실행되기 위한 변수나 데이터 저장을 위해 적은 용량의 SRAM을 갖고있다. Chip에 따라 EEPROM을 내장하기도 한다. MCU는 임베디드 애플리케이션을 위해 디자인 되었다. MCU는 기능을 설정하고 정해진 일을 수행하도록 프로그래밍 되어 장치 등에 장착되어 동작한다. MCU 구성요소에는 Timer, UART, RS232..
2018.03.14 -
symbol lookup error: Undefined Symbol
아. build 도 (GCC)안되고 프로그램을 실행시켜도 undefined symbol error가 계속나는거다. 하. 이런 경우에 보니까 ... 코드 수정해서 고치려고 새로 디렉토리를 만들어서 올렸더니.. 뭔가 빌드환경이랑 라이브러리가 반영이 안됐나보다. 그래서 다시 라이브러리 install 하고 해주니까 된다. .......... ㅡㅡ 근데 이게 장비를 reboot하면 다시 사라진다니...ㅠㅠ undefined symbol error는 흔히 어떤 함수를 사용하려고 하는데, 실제 함수의 구현체가 없는 경우에 linking 하는 과정에서 발생하는 에러입니다. 개발자가 보기에는 에러가 발생안해야 하는데, 이상하게 발생한다고 느껴지는 경우들이 종종 있습니다. 몇가지 경우를 살펴봅시다. 1) header fi..
2018.03.13 -
git 다시... ㅠㅠ
https://wiki.kldp.org/Translations/html/Git-User-Manual/ 으아아아ㅏㅏ,..........으아아아 ㅠㅠ 미쳐 ㅠㅠ 깃으로 프로젝트 하나 해보자...
2018.03.13 -
리눅스 커널
하 이걸 작년부터 공부했었어야했는데 이제 하다니 ㅠ주륵 다 내탓이요 지금부터라도 해야지 ㅠ https://wiki.kldp.org/Translations/html/The_Linux_Kernel-KLDP이것부터 우선 읽어보고 실습도 해보고 해야지 으아아아아ㅏ아아ㅏㅇㅇㅇ ㅏ앙
2018.03.09 -
CPU temperature check on linux
리눅스에서 CPU 온도 측정하는 방법은 2가지가 있다. 1. 간단한 한줄 명령어.. 2. 프로그램 install 하는 방법. 1번은 .... 1cat /sys/devices/virtual/thermal/thermal_zone0/temp 70024cs 요 커맨드로 입력을 하면. 위와같이 70024 라는 값이 출력이 된다. 이 값은 단위가 millidegree celsius 로, 1000을 나눈 값이 섭씨가 된다. 그러면 위의 CPU온도는 70도가 되는것이다. 이 온도값은 아마? CPU바로 옆에 있는 센서 값일것이므로... 커버가 씌워진 상태의 온도와는 차이가 있을것이다. 실제로 기계로 외부에서 잰 온도는 50도인데, 위의 command 값은 70도로 20도나 차이가 났다. Generic Thermal Sy..
2018.02.14 -
Linux 에서 GPIO 컨트롤하기
이번 보드는.... 485 usb 포트가 FTDI 칩을 통해 ARTIK cpu에 연결되어있다. (4개의 포트가 뽑혀있고,.. 목적은 4개의 센서를 사용하려는 목적) 이 usb 포트를 사용하려면 HIGH/LOW 로 조절해가며 데이터를 쏴야하는데.... 이를 사용하려면 어느 GPIO 에 맵핑되어있는지 알아야 HIGH LOW로 컨트롤 할 수 있다... USB랑 485랑 호환해주는 어떤 커넥터가 있는데... 한쪽은 485 Tx/Rx/GND등이 있는 연결부위가 있고 한쪽은 컴터에 연결하는 USB포트가 있다. 보드의 485 포트와 CPU의 USB포트사이에 데이터가 오고 가는 것을 확인해야하는것이다. ( 깨지지 않고..) 그러러면..양쪽의 Baud rate 등 다른 설정값도 모두 세팅을 잘 해줘야함. 그니까 !!!!..
2018.01.26 -
Fedora install
dnf install minicom....... 이것은 ...... minicom 을 install 하는 명령어이다.... DNF is a software package manager that installs, updates, and removes packages on RPM-based Linux distributions. 페도라에서 패키지 인스톨...하는....명령어....이다...
2018.01.26