본문 바로가기

분류 전체보기

Matlab에서 변수 초기화 및 관련 함수 일단 메트랩 함수에 대해 알아야 합니다. 참조: http://www.mathworks.com/help/techdoc/matlab_prog/f0-38052.html • 함수 파일 – function 이라는 단어로 시작. M-파일로 저장됨 – 입력 인수를 받고 출력을 반환. 사용자-정의 함수와 비슷(Fortran, Visual Basic, C 등) – 일반적인 구문 function [outvar] = funcname(arglist) outvar=value; – 저장: funcname.m으로 저장 – 실행: 명령창에서 funcname 입력. current folder가 현재 파일 저장된 위치에 있어야함. – MATLAB MATLAB은은 대소문자 대소문자 구별함 구별함 - 스크립트 안에서의 변수들은 스크립트가 .. 더보기
MSP430 개발환경 dDGIST 과제 수행 중 처음 써보는 MSP430을 접하게 되었습니다. AATmega128만 써본 저로써는 생소한 경험을 하게 되는데 가장 기본이 될 개발환경에 대한 조사를 먼저 해보고자 글을 납깁니다. Integrated Development Environments Name Description Price Provider CCS v4 MCU Core Edition (TMDFCCS-MCULTD) Free 16KB limited Eclipse-based IDE. (Formerly CCE v3 Core Edition) Free Texas Instruments CCS v4 MCU Edition Unrestricted Eclipse-based IDE for MSP430. (Formerly CCE v3 Prof.. 더보기
Continuous-time vs Discrete-time 연속시간 vs 이산시간 원본출처: http://www.themathpage.com/acalc/continuous.htm 내용을 간단히 줄여보면...... 자연수는 이산(별개)의 단위이다 라고 봅니다. discrete units는 5개의 연필, 100명의 사람은 각 요소가 분리 될 수 없는 하나의 요소로 봅니다. continuous-time은 거리는 보면 단위(magnitude)를 들 수가 있지만, 연속적인 양으로써 사실 어디를 기준으로 분류해야 할지 관계가 없는 특성이 있습니다. DEFINITION 1. We say that a quantity is continuous if there is no limit to the number of times it could be divided, and 1) no m.. 더보기
matlab truetime 설치 메트렙에 투루타임을 설치하는게 상당히 까다롭군요. 예상치 못한 에러들이 발생하고... 혹시나 저와 같은 문제에 봉착하시는 분들을 위해 삽질 좀 덜 하시라고 글을 남깁니다. 일단은 2010a 버전의 메트랩을 설치하시고 아직 mex가 2005와 2008을 지원하는데 2008은 제대로 된 것을 못 구해서 2005 expression sp1을 깔았습니다. 이 것도 2005 standard에 sp1 패치를 따로 받아서 까니깐 또 안되는군요...-ㅠ 학생이라 정품사용이 가능하지만 워낙 안되서...... 중국 친구(?)를 통해 en_vs_2005_pro_dvd.iso라는 파일을 구해서 매트랩 2010a를 설치했습니다. 다시 정리하자면 1. matlab2010a 설치 2. visual studio 2005 expres.. 더보기
[펌글]NP-complete 문제에 대한 쉬운 정리 P, NP, NP-완전 알고리즘을 공부해본 사람이라면 누구나 들어보았을 말이다. 용어의 정의자체도 난해하지만 그것에 대한 풀이 또한 쉽게 풀이해논 내용이 없어 한참을 읽어봐도 이해가 되지 않았다. 혹, 이해를 해도 시간이 지나면 그들간의 차이점을 생각해 내는 것이 쉽지 않았다. '복잡성 이론 (Complexity Theory)' 이라는 컴퓨터 공학의 한 분야는 엄청난 계산을 필요로 하는 복잡한 문제들을 다룬다. 이것은 말 그대로 컴퓨터가 계산하는 여러 가지 문제들에 대한 '복잡성' 자체를 연구하는 분야다. 이 분야의 연구는 구체적인 알고리즘을 개발하는 것과 직접적인 상관은 없지만 어떤 문제가 쉽게 풀릴 수 잇는 문제고 어떤 문제가 쉽게 풀릴 수 없는 문제인지를 구별하도록 해주기 때문에 프로그래머들이 해결.. 더보기
소프트웨어로 AVR 메모리 초기화 하기 와치독 타이머를 사용하는 방법과 리셋 스위치를 입력하는 방법이 있습니다. 와치독 타이머를 사용하면 진정한 리셋이 이루어 지지만 다음과 같은 간단한 방법으로 프로그램의 시작부로 간단하게 이동하는 방법도 있습니다. void (*reset)(void) = 0x0000; 와 같이 함수 포인터를 이용해 점프할 위치를 정의하고 if(bit_is_set(PORTA, 0) ){ reset(); } 와 같이 하는 방법과 #asm("jmp 0x0000"); 을 이용해서 점프 하는 방법도 있습니다. 더보기
우분투 시리얼 포트 확인하기 e보드 설정 확인 [root@oscar root]# dmesg | grep tty 미니콤 설정확인 minicom -s 보통 /dev/ttyS0 115200 8N! 두가지 컨트롤 모드 no 장치가 접근허가를 거부하는 메시지가 나오면 chmod 777 /dev/ttyS0 cannot creat lockfile. sorry 면 chmod 777 /var/lock 노트북 사용자는 대부분 /dev/ttyUSB0 형태의 디바이스 파일이름으로 사용 글자가 깨지면 baudrate vmware 사용자라면 설정을 확인해야 한다 vm -> setting -> hardware 탭 -> 시리얼포트 추가 참고로 hybus사의 pxa255 보드에서 tftp를 위해 bootp를 설치하는데 tftp로 하이버스사에서 제공한 시디 말고 .. 더보기
srand 마이크로 시간대로 뽑아내기 본 글은 퍼온 글입니다. 아래 소스는 리눅스에서만 작동하니 그 점을 숙지해야 합니다. srand(time())가 1초마다 값이 바뀌다 보니 랜덤 값이 항상 일정한데 그 점을 보안하기 위한 함수 입니다. 아래 글은 퍼온 글이고 윈도우 모드에서 랜덤값을 주는 방법은 더 아래에 있습니다. 요즘 동아리에서 C 스터디를 하고 있습니다. 리눅스 프로그래밍, 윈도우즈 프로그래밍, 루트킷 탐지 프로그램 프로젝트를 하기 위한 선행학습이지요. 복습도 되구요. 우선, 로또 게임 시뮬레이션을 만들었는데, 주석을 포함하여 217줄이 나오더군요. 그 코드 중에서 번호를 무작위로 섞는 함수 부분에 대해 얘기하고자 합니다. 자, 그러면 코드부터 볼까요? /* === FUNCTION ============================.. 더보기
restrict 한정자(qualifier) in C Type Qualifiers C언어에서 C89 표준에서는 한정자가 contst, volatile 이 두가지가 있었다. C99에서는 세 번째 타임으로 restrict가 추가 되었다. 이 한정자들은 lvalue를 통해 객체를 접근할 때 컴파일러가 전제 조건을 결정한다. Const 예약어는 문법은 C++에도 이미 적용되어 있다. 이 개념은 다른 언어에도 나타나있다. volatile과 restrict는 C언어에서 발견되었다. 그리고 이 둘 다 const 와 같은 문장 구성법을 같는다. 한정자의 형(type)은 최적화를 통해 더 많은 제어적 요소를 제공하기 위해 소개 되었다. 몇몇 중요 최적화 기술들은 cacheing을 토대로 한다. 특정 상황에서 컴파일러는 그 지역으로 부터 가장 마지막에 엑세스된 값을 기억하고.. 더보기
winavr 버전에 따른 문제점 20081205 vs 20090313 #define CPU_CLOCK 14745600 #define BAUD_RATE 9600 #define BAUD_RATE_L (CPU_CLOCK / (16l * BAUD_RATE)) - 1 #define BAUD_RATE_H ((CPU_CLOCK / (16l * BAUD_RATE)) - 1) >> 8 void uart_init(void) { // baud rate 설정 UBRR1H = (unsigned char)BAUD_RATE_H; UBRR1L = (unsigned char)BAUD_RATE_L; // no parity, 1 stop bit, 8bit 설정 UCSR1C = (0 더보기