반응형

c 11

[C] uart 혹은 tty 읽고 쓰기 예제 (비동기,event)

예제코드 소스코드. 간단한 시리얼 예제 프로그램이 되겄다. 실제로 smd 채널이나... 물리 tty 채널로 동작됨을 확인했고.. 비동기적으로 (event) 방식으로 동작을 하는 예제다. 테스트 확인완료. 예제코드 #include #include #include #include #include #include #include #include #include #include #include static int fd = 0; #define MAX_BUF_SIZE 512 #define DEV_JIGBEE_UART "/dev/ttyMAX" int init_uart(char * dev, int baud, int * fd) { struct termios newtio; * fd = open(dev, O_RDWR | O..

SW 개발 2020.12.18

[C] Jansson 사용시 json_decref() 호출하는기준

C에서의 json library Jansson 에서 json_decref()의 역할? json_decref() 호출하는 기준 C에서의 json library c에서 Jansson lib 를 써보니 생각보다 api 가 잘되어있고 안정적으로 동작하였다. 만약 임베디드C 환경에서 json 을 쓰려면 jansson 을 사용하길 추천한다. 공식홈페이지 : http://www.digip.org/jansson/ Jansson 에서 json_decref()의 역할? 간단하게 이야기해서 free 와 같은 역할이라고 생각하면될것 같다. 할당된 인스턴스를 해제하는 역할이다. 혹은... 강제로 쓰고있는 인스턴스를 다른곳에서 해제하지 못하게 하는 lock 과 같은역할을 하기도한다. json_decref() 호출하는 기준 공식 ..

SW 개발 2018.05.14

[C] 보이어무어 간단버젼 - 동작예제 -

보이어무어를 실제 임베디드 환경에서 사용할일이 생김... 그나마 제일간단하고 제일 코드량이 적으면서 잘돌아가는 소스를 인터넷에서 받아서 테스트완료한 버젼이다. 예제소스 #include #include #include #define NO_OF_CHARS 256 // A utility function to get maximum of two integers static int max (int a, int b) { return (a > b)? a: b; } // The preprocessing function for Boyer Moore's bad character heuristic static void badCharHeuristic( char *str, int size, int badchar[NO_OF_CHA..

SW 개발 2016.11.29

[AVR 펌웨어] timer/pwm 핸들링 (예제코드)

기초지식. 실제 간단 예제... 타이머 ISR 관리하기 각각 타이머 prescaler 관리 타이머초기화부분... 그럼 인터럽트 처리 루틴을 한번 보자.. 실제적인 각 타이머의 동작 관리 출처 : 나 (이전 정리했던 자료...) 기초지식. ATmega128은 4개의 범용 타이머/카운터가 있다. Timer/Counter0(8비트), Timer/Counter1(16비트), Timer/Counter2(8비트), Timer/Counter3(16비트) 타이머/카운터의 제어에 필요한 레지스터는... 타이머/카운터 제어 레지스터(TCCRn) 타이머/카운터 레지스터(TCNTn) 출력 비교 레지스터(OCRn) 타이머/카운터 인터럽트 관련한 레지스터는... 타이머/카운터 인터럽트 플래그 레지스터(TIFR) 타이머/카운터 인..

SW 개발 2011.12.02

[알고리즘] 연결리스트 class 로 구현한 양방향 링크드 리스트 (예제코드)

직접 테스트완료된 예제코드 예제코드 예제코드 #ifndef DLIST2_H #define DLIST2_H template class list { ////////////////////////////////////////////// private: class node { public: node* llink; node* rlink; T data; node(node * a, node* b, T c) : llink(a), rlink(b), data(c) {} }; node* head; ////////////////////////////////////////////// public: typedef node* POSITION; list() // 생성자 { head= new node(0,0,0); // 헤드 노드를 생..

SW 개발 2009.04.14

[알고리즘] 연결리스트 struct 를 이용한 이중연결리스트 (예제코드)

네이버 블로그에 돌아당기는 이중연결리스트 예제 예제코드 예제코드 #include // 노드 구조체 struct Node { int value; Node *prev; Node *next; }; Node *head; // 연결 리스트 초기화 - 머리를 할당한다. void InitList() { head=(Node *)malloc(sizeof(Node)); head->prev=NULL; head->next=NULL; } // 지정한 노드의 오른쪽에 삽입한다. Node *InsertNodeRight(Node *Target,Node *aNode) { Node *New; Node *Right; New=(Node *)malloc(sizeof(Node)); *New=*aNode; Right=Target->next; N..

SW 개발 2009.04.14

알고리즘 / 보이어무어알고리즘에 대한 고찰

Boyed-Moor Algorithm 이전에 비트컴퓨터 과제로 제출했던 자료입니다 ㄷㄷ 1. bad character 문자열 비교 예제 1 의 구현 2. Suffix 접미사 정의 접미사(suffix array)배열 구하기 접미사(suffix array)배열 구현 Good-suffix 정의 Good-suffix의 구성 phase 1 phase 2 Good-suffix-array 구현 3. Boyed-Moor Algorithm 설명 Bad-Charater 이동 Suffix 이동 구현 1. bad character BAD CHARACTER 란 비교할 문자열의 가장 마지막부터 비교를 시작할 때 나오는 특성을 이용한다. 마지막 문자를 비교 할 때 나오는 문자에 따라 나머지 문자열은 비교 안해도 되는 구간이 있다...

SW 개발 2009.04.14
반응형