본문 바로가기
코스웨어/14년 스마트컨트롤러

20140418 문대영 일일보고서[11번]

by 알 수 없는 사용자 2014. 4. 18.
728x90
반응형

 연결리스트

 

반환형을 사용한 연결리스트 생성

 

 

main함수에서 연결리스트를 만들지 않고 함수를 호출하여 연결리스트를 생성하는 소스이다.

값을 반환 하는 이유는 함수 호출이 끝나면 지역변수삭제가 되지만 데이터는 힙영역에 할당되어 있다.

힙 영역의 주소를 모르면 호출을 하여도 데이터를 읽어 올 수 없기 때문에 주소를 반환하여 main 함수에서

만든 Head에 반환값을 대입해주면 된다.

 

 

더블 포인터를 이용한 연결리스트 생성 

값을 반환하지 않고 더블 포인터를 사용하여 main함수에 생성된 Head에 Node_insert2에 생성된 헤더를

주소로 연결시켜준다.

Node_insert2 호출이 끝나 Head가 지워져도 main함수의 head가 힙영역의 데이터의 주소를 가리키고 있기

때문에 연결리스트가  연결되어 있다.

 

 

 연결리스트 생성과 연결리스트에 추가

 

 

if문은 연결리스트를 처음 생성할때 사용이 되고 else문은 연결리스트가 생성되었다면

for문을 통해 Next의 값을 비교하고 뒤에 메모리를 할당받아 연결리스트를 연결시켜 준다.

 

 

연결리스트를 처음 생성할 때 흐름

 

 

Insert함수를 여러번 호출할 때 흐름

 

 

 최적화 소스코드

 

 

 

ATmega128 LCD 제어

 

 

타이밍도

 LCD를 제어하기 위해 RS , R/W , E DB0~7번의 흐름

 

타이밍도를 보고짠 LCD제어 소스

 

 

LCD의 제어와 사용 명령

 

 

틸트 연산자 기능

원하는 곳의 값만 바꾸기 위해 사용을 한다.

 

 임의의 값과 변경된 값을 비교해 보면 바꿀 위치의 값이 변했다는 것을 알 수 있다.

 

수업 마지막 시간에 그림 파일이 날아가서 LCD부분 정리가 많이 미흡하네요

다음번엔 정리를 더 잘하겠습니다.

 

 

 

 

728x90