동영상 재생이 안돼서 링크 겁니다.↓
http://scotstiner.tistory.com/entry/20140422%EC%88%98%EC%97%85%EB%B3%B4%EA%B3%A0%EC%84%9C
LCD초기화를 최적화 해보자!
(LCD_inst함수 생성)
LDC의 명령어는 portC의 값만 바뀌므로, portC에 인자를 넣어줄수 있는
함수생성
(헤더에 명령어 값 입력)
헤더에 portC에 들어갈 각각의 명령어의 값에대해 매크로를 지정해준다.
(LCD_init함수)
LCD_inst 함수에 명령어 각각의 매크로를 연결해 준다.
(실행)
-끝-
LCD_Data 함수도 최적화 해보자!
함수 인자값을 받아서 portC에 넣어준다.
main에서 LCD_Data에 아스키코드의 문자 값들을 넣어줘 보자.
-끝-
문자열 출력을 함 해보자!!
(LCD_Str함수)
문자열의 맨 압자리 주소를 포인트로 받아서
주소를 1바이트씩(+1) 이동해서 LCD_Data함수로 출력.
(LCD_Str함수호출)
-끝-
의미있는 숫자를 출력해보자!!
(LCD_Num함수)
숫자를 unsigned char 형태의 인자로 받는다.
배열인 ucBuff를 선언하고 자리수를 정해준다.
100,10,1자리의 숫자를 각각 문자화 해서 LCD_Str함수로 출력해준다.
(LCD_Num함수호출)
-끝-
ddram
(ddram 매크로 설정)
(ddram 매크로 호출)
출력할 위치를 바꿀수 있다.
ddram의 명령어와 출력주소를 합친다는 의미에서 or로 표기
(INST_SET_DDRAM | 0X00) = (1000 0000 + 0000 0000)
-끝-
링크드 리스트
정열함수
(검색단계)
(37열)stpRear과 널값을 비교하여 반복문으로 전채검색
(39열)stpRear과 stpNew의 Data값을 비교해서 삽입할 위치 판단.
(중간또는 뒷열 삽입)
(48열)stpRear과 Head를 비교하여 첫열이 아닌경우를 분별(그림2)참조
(50~51열)stpNew의 앞과뒤를 stpFront와 stpRear로 연결 해준다.
(앞열 삽입)
(57~58열)stpNew를 Head앞에 붙여주고 Head로 바꿔준다.
Delete 함수
(검색단계)
(70열)stpRear과 널값을 비교하여 반복문으로 전채검색
(72열)stpRear의 Data값과 cData값을 비교해서 지울 위치 판단.
(76~77열)stpfront에 stpRear를 넣어주고, stpRear의 Next값을 stpRear에 넣음.
(링크가 없을때)
(80열)stpRear의 값이 널이 됄때까지 반복문을 돌려도 같은 Data값을 찾지못하면 링크가 없음.
(82열)main으로 Head를 바로 반환.
(중간, 끝 삭제)
(85열)stpRear과 Head가 다르면 반복문이 돌아 갔단 말이므로 중간이나 끝열에 지울 Data가 있다고 판단.
(87열)stpRear의 Next를 stpFront의 Next에 넣어서 연결한다.
(앞 삭제)
(91열)stpRear이 Head와 같으면 지울대상이 맨 앞에 있다는 말이므로
(93열)Head의 Next를 Head로 바꿔준다.
(검색된 영역 삭제)
(95열)stpRear을 프리
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
2014.04.28 교육보고 <오두환 17번> (20) | 2014.04.28 |
---|---|
2014년 4월 25일 양태영 [출석번호 16번] (13) | 2014.04.25 |
2014년 4월 24일 송근영 [출석번호 15번] (17) | 2014.04.25 |
2014년 04월 23일 손병규_출석번호 14 (18) | 2014.04.23 |
20140421 일일보고 박영주 (17) | 2014.04.21 |
20140418 문대영 일일보고서[11번] (17) | 2014.04.18 |
2014년 4월 16일 일일업무일지 김해성 [출번 9번] (26) | 2014.04.16 |
2014년 04월 15일 업무일지 김진철[출석번호 : 8번] (19) | 2014.04.15 |