레필리아
'분류 전체보기' 카테고리의 글 목록 (4 Page)

전체보기

컴퓨터공학 기초/C.C++

set_union 알고리즘 STL set에서 사용하기

STL에 set을 가만 보면 우리가 원하는 연산이 없습니다. 합집합, 교집합, 차집합 연산이 바로 그것이죠 그런데 사실 그러한 연산들은 STL내에 알고리즘 형태로 어떤 컨테이너(예.벡터)에서도 사용할 수 있도록 제네릭하게 제공되고 있습니다. set a; set b; set c; a.insert("abc"); a.insert("def"); b.insert("abc"); b.insert("123"); set_union(s.begin(), s.end(), b.begin(), b.end(), inserter(c, c.begin())); for(set::iterator it = c.begin(); it != c.end(); it++) { cout

컴퓨터공학 기초/C.C++

String tokenizer(문자열 split) class 구현 예시

stringTokenizer.cpp #include "stdafx.h" #include "StringTokenizer.h"stringTokenizer::stringTokenizer(const string& inputstring, const string& seperator) : _input(inputstring), _delimiter(seperator) { split(); }size_t stringTokenizer::countTokens() { return token.size(); }bool stringTokenizer::hasMoreTokens() { return index!=token.end(); }string stringTokenizer::nextToken() { if(index!= token.end..

컴퓨터공학 기초/C.C++

string split 함수 (stl vector)

간단한 코드라 설명 생략.

컴퓨터공학 리서치/공개

IAR 에서 외부에디터(External Editor) 사용하기

뭐 팁이라고 하기엔 큰 건 아니지만 팁일 수도 있다. DDE(Dynamic Data Exchange) 를 이용하는 방법도 있지만 지원하는 에디터도 별로 없고, IAR 이 크게 지원하는 것도 없어Command Line 방식을 사용하기로 한다. 외부 에디터 사용이란 기능이 뭐 대단한 건 아니다.평소 코딩할 때 프로젝트 파일 트리 창에서 파일을 더블클릭 하면 자신이 사용하는 에디터를 사용하여 편집할 수 있도록 자동 실행해 준다. 편하면 쓰고 불편하면 안쓰는 기능이다. 해당 기능 설정은 다음 위치에 있다.Tools > Option > External Editor > Use External Editor 체크 > 설정사항 입력. * UltraEdit 를 사용하는 방법.UltraEdit 는 DDE 를 이용할 수 있지..

창고/미분류

윈도우7 에서 파일 삭제 권한(TrustedInstaller)문제 해결방법

윈도우 7에서 특정 파일이나 폴더를 삭제하려고 하는데 '이 파일을 변경하려면 TrustedInstaller에서 사용 권한을 부여 받아야 합니다.' 라는 창이 표시되는 일이 있습니다. - 바로 이런 창입니다. 삭제 대상이 시스템에 조금이라도 관계가 있으면 이런 창이 표시되는데, 이 창이 표시되는 바람에 생기는 불편한 점이 오류가 생겨서 파일 삭제 후 재설치를 해야 하는 경우에도 삭제가 불가능하다는 겁니다. (TrustedInstaller가 뭔가 했더니, PC의 admin(관리자) 계정보다 상위 권한을 가진 계정이라고 합니다. 중요 파일을 보호하기 위한 장치지만 이럴땐 쓸데없이 불편하기만 하군요..) 이것은 폴더 속성의 [보안] 탭에서 '모든 권한' 설정으로 해결이 가능하지만, 폴더나 파일을 여러개 삭제할 ..

컴퓨터공학 리서치/공개

MSP430F5437 ADC(2)

ADC 제어를 하기는 했는데 왠지 모르게 약간은 찝찝한 기분이 남아있음.수광 센서가 탔을지도 모른다는 불안감 때문인가?? 수광센서에서 읽은 아날로그 값을 ADC를 이용하여 디지털 값으로 변환.그 값을 UART를 이용하여 터미널로 출력시켰다.코드는 아래와 같다. 코드를 동작시켜 본 결과 값이 아주 빠른 속도로 변하는 것을 확인할 수 있었음.추후에 라인트레이서를 만들때에는 이 값을 어떻게 사용해야 할지 모르겠으나, 현 상태로는 ADC를 제대로 제어하는지 확인하기는 힘듦. 그래서 측정값의 평균값의 변화를 통해 측정.평균을 도출하기 위해 사용한 방법은 다음과 같음. 수식이 별로 안이쁘네.. 흠.. -_-;결과 값은 다음과 같음.(600회 측정하여 평균 값을 낸 것) 입력 전압 수광센서 안 가림 수광센서 가림 4..

컴퓨터공학 리서치/공개

MSP430F5437 ADC(1)

미루고 미루다 오늘에서야 올림..졸업 과제 때문에 연구실에 자주 안나가서 거의 진행을 못함..큰일이네 ㅋㅋㅋㅋㅋㅋㅋㅋ 이래서 완성 할 수 있으려나.. ADC는 Analog Digital Converter의 줄임말.말 그대로 Analog 신호를 digital 신호로 converting 해주는 기능인 것 같음.일정 시간 마다 sampling을 통해 digital 신호로 바꿔주게 됨.. 이 개념을 어디서 배운 기억이 나냐면.. 데이터 통신에서 사람 목소리를 디지털 신호로 어떻게 바꾸는가에서 배운 것 같다. 나이퀘스트 정리(Nyquist Theory) - 신호를 샘플링 할 때 온전히 샘플링 하려면 적어도 그 신호 주파수의 2배만큼을 샘플링 주파수로 해야 한다. 요게 생각이 나는 군 ㅋㅋㅋ 일반적으로는 2배가 아..

컴퓨터공학 리서치/공개

MSP430F5437 PWM

졸업과제 하면서 PWM(Pulse Width Modulation)은 한 번 활용해본 경험이 있었음. 일정한 주기 내에서 Duty비를 변화 시켜서 평균 전압을 제어하는 방법으로 DC모터의 속도제어나 조명제품의 광량 조절하는데 많이 이용함. 졸업과제에서는 PWM을 이용하여 부저를 컨트롤 하였음. 음.... 간단하게 말하면 위의 그림 같은 파형의 신호를 만들어 내는 기능임. 주석으로 코드 설명을 해놔서 딱히 다른 설명 할께 없긴 한데..... Port2.2 는 CCR1을 이용하며 75% PWM (384/512 = 0.75), Port2.3은 CCR2를 이용하며 25% PWM(128/512 = 0.25) 이다. 최대 출력이 9V인 포트가 있을 때 PWM의 duty cycle이 50% 이면 4.5V가 출력 되는 ..

컴퓨터공학 리서치/공개

MSP430F5437 UART

매일 매일 썼어야 하는데 상당히 귀찮음..그래도 나중에 보기 편하게 부분부분 나눠서 일지를 적어야 겠음. UART A0를 이용하여 Rx로 받은 데이터를 Tx로 그대로 echo 해주는 소스 코드임.Rx 인터럽트를 활용하여 코딩하였음. Tx 인터럽트는 이번 프로젝트에서 크게 쓸 일이 없을 것 같아서 패스~(혹시 필요하게 되면 추가로 일지에 기록하겠음) 특이하게 baud rate를 맞춰주기 위해 레지스터에 값을 조절해야 하는데..계산하는 방식이 상당히 귀찮음.. 나중에 시간나면 프로그램으로 만들어야지 -_ㅜ 일단은,http://mspgcc.sourceforge.net/baudrate.html이 사이트를 이용해서 알맞은 레지스터 값을 쓰도록 하자. P3SEL과 같이 P*SEL, P*SEL2 레지스터를 이용하여 ..