calculater with pxa - 270

14
사사사사 사사사 SUM Project Team by

Upload: dong-hyun-seo

Post on 20-Aug-2015

78 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Calculater with pxa - 270

사칙연산 계산기

SUM Project Team

찌강

뽀by

Page 2: Calculater with pxa - 270

목차

1.팀원2.소개3.기간 및 목표4.개발 방향5.발생한 문제점 및 해결

방안6.시연

Page 3: Calculater with pxa - 270

1. 팀원SUM Project Team

20100158

7서동현

계산기 알고리즘 작성

디바이스 드라이버 총괄 통합

계 산 기 알 고 리 즘 과 디 바 이 스

드라이버 통합

20100163

7전지성

CLCD 연구 및 테스트

Key Button 연구 및 테스트

20100164

7지강일

Dot Matrix 연구 및 테스트

Button 연구 및 테스트

20100165

3최보영

FND 연구 및 테스트

LED 연구 및 테스트

Page 4: Calculater with pxa - 270

2. 소개

Page 6: Calculater with pxa - 270

3. 기간 및 목표

2014. 5. 23. ~ 2014. 6. 13. ( 약 3 주 )

1 주차설계 및 디바이스 드라이버 코드

분석

5/23, 5/27,

5/28, 5/30

2 주차계 산 기 알 고 리 즘 작 성 및

디바이스 드라이버 코드 수정6/2, 6/3, 6/5

3 주차계산기 알고리즘과 디바이스

드라이버 코드를 통합6/9, 6/10, 6/11

Page 7: Calculater with pxa - 270

3. 기간 및 목표

clcdfndKey but-tonDot

Ledbtn

Page 8: Calculater with pxa - 270

4. 개발 방향

ListBaseStack : 스택의 활용 부분InfixToPostfix : 후위 표기법의 수식으로 변환PostCalculator : 후위 표기법의 수식을 계산InfixCalculaotr : 중위 표기법의 수식을 계산

Calculator: 계산기 알고리즘의 응용 부분

HisOpen, HisSave, HisNum : 계산기의 히스토리 부분

계산기 알고리즘

ClcdfndKey buttonDotLedbtn

디바이스 드라이버

Page 9: Calculater with pxa - 270

5. 발생한 문제점 및 해결 방안History

기능struct history{

int id;char exp[E_MAX_N];char res[R_MAX_N];

};

if((fread(&record,sizeof(record),1,fp)>0)&&(record.id!=0))

구조체파일 포인터

History.txt

1 128+(10+28) 166.0

2 30+50/10 35.0

3 99+1-50*10 -400.0

4 4/4*4/4 1

Page 10: Calculater with pxa - 270

5. 발생한 문제점 및 해결 방안소수점 + 한 자리

숫자 이상의 계산double EvalRPNExp(char exp[LEN]){

··

else if(flag_d==1&&flag_dot!=1){ Double digit=SPop(&stack); SPush(&stack,(digit*10)+tok-'0'); }

else if(flag_d==1&&flag_dot==1){ double digit=SPop(&stack); double dot=tok-'0'; for(j=0;j<cnt_dot;j++){ dot/=10; } SPush(&stack,digit+dot); }

Page 11: Calculater with pxa - 270

5. 발생한 문제점 및 해결 방안CLCD 두 줄 따로

출력하기static void string_out(char*str){··

if(*s=='\n'){ udelay(100); *((volatileunsignedchar*)(mem_base_wr))=0xC0; continue;}

Page 12: Calculater with pxa - 270

5. 발생한 문제점 및 해결 방안Button 과 Key But-

ton 의 충돌int main(int ac,char *av[]){

··

/* Init Thread */pthread_mutex_init(&mutx,NULL);pthread_create(&t_id,NULL,handle_btn,(void*)&btnFd);

··

void * handle_btn(void *arg){switch(buf){ /* Exit Key */ case1: pthread_mutex_lock(&mutx); btn_flag[0]=1; pthread_mutex_unlock(&mutx); break;

Page 13: Calculater with pxa - 270

6. 시연

Page 14: Calculater with pxa - 270