본문 바로가기
반응형

코스웨어/14년 스마트컨트롤러287

2014년 4월 25일 양태영 [출석번호 16번] ------------------------ATMega128 UART------------------------ ----- UART 통신 UART 통신을 하기 위해 속도데이터 사이즈패리티정지 비트흐름 제어 등을 설정해야 한다. ----- UBRR Reg값으로 속도 설정 속도를 입력하는 방법은 두 가지가 있는데 첫번째로는 표에 명시된 속도를 구하는 공식이 있다. fosc : 동작주파수 (16Mhz) BAUD : 전송 속도 (115200 bps 사용 예정) 우리는 비동기 일반 모드를 사용할 계획이니UBRR = ( fosc / ( 16 * baud ) ) -1 공식을 사용한다. 공식을 사용하지 않고는표를 참고하여 UBRR의 값을 알아낼 수도 있습니다.속도 115200 bps(115.2 kbps)를 사용할 예정.. 2014. 4. 25.
2014년 4월 24일 송근영 [출석번호 15번] Atmega 에서의 송수신포트 ※ PORT이름이 하나만 있는 경우에는 한가지의 역할만 수행한다. (같은 PORT이름으로 여러개 존재하는 경우에는 갯수만큼 같은 역할가능하다 ) 기판의 발전 ①과거에는 회로와 트랜지스터를 직접연결하고 -> ②트랜지스터 핀과 선을 각각 연결(논리회로 수업에서 배웠던 방법) ③에칭기법 - 인쇄 회로 기판의 배선 형성을 위해 도체(동박)을 제거하기 위한 공정에도 이용된다. (출처_위키백과) - 에칭기법을 이용하여 많든 기판을 사용하였다. ④ PCB(print circuit board) - 종이에 출력하듯이 보드에 프린트하는 방식으로 만들어진 기판을 말한다. 대부분 자동화 되어 있고 현재 사용하고 있는기판들은 대부분 PCB이다. 전자파의 영향을 받지 않도록 회로를 그려서 노이즈(잡.. 2014. 4. 25.
2014년 04월 23일 손병규_출석번호 14 ATMega 128 -> LCD (DELAY 최적화 및 출력 속도) LCD 패널 출력 속도 조절-> 출력 데이터가 에러 없이 정상적으로 나오고 빨리 출력하는 코드DNUM1 -> 230(150)DNUM2 -> 150(230) UART -> 고속 직렬(시리얼) 통신 ATMega 128 -> UART 보드 ▶ TX -> 데이터를 보낼 때 사용▶ RX -> 데이터를 받을 때 사용 데이터 통신 흐름 UART의 메모리구조 ▶ Dual Programmable Serial USART 이므로 주소가 2개(n=0과1)가 존재한다. 1) UDR 2) UCSRA 3) UCSRB 4) UCSRC 5) UBRR (UBRRL and UBRRH) * 사용자 정의 자료형 ->구조체(struct), 공용체(union), 열거형(enum.. 2014. 4. 23.
20140422서상우_수업보고서 동영상 재생이 안돼서 링크 겁니다.↓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에 아스키코드의 문자 값들을 넣어줘 보자. -끝- 문자열 출력을 함 해.. 2014. 4. 22.
20140421 일일보고 박영주 1. LCD 소스 위에 데이터를 보면 DB0~7에 들가는 값을 보면서 안에 네모값만 변경하면서 명령을 실행시킨다. 2.Single Linked head가 현재 'b'를 가르키고 있기때문에 'b'를 바로 지워버리면 'd'를 잃어버린다. 때문에 변수선언을 해야한다. node * temp를 하나 선언한뒤 초기값을 temp=head로 한다.그럼 temp는 head와 같이 'b'를 가르키고 있다.그럼 'b'는 temp가 가르키고 있으니 head는 'd'를 가르킨후 free(temp) 로 'b'지워버린다.이것을 반복적으로 head가 temp보다 앞에 것을 가르키고 있기 때문에[ 0! = head ] 이렇 게 조건을 걸어 반복문을 작성하여 실행시키면 동적할당받은 부분을 다 지워버릴 수 있다. 여기서 head를 이동시.. 2014. 4. 21.
20140418 문대영 일일보고서[11번] 연결리스트 반환형을 사용한 연결리스트 생성 main함수에서 연결리스트를 만들지 않고 함수를 호출하여 연결리스트를 생성하는 소스이다. 값을 반환 하는 이유는 함수 호출이 끝나면 지역변수는 삭제가 되지만 데이터는 힙영역에 할당되어 있다. 힙 영역의 주소를 모르면 호출을 하여도 데이터를 읽어 올 수 없기 때문에 주소를 반환하여 main 함수에서 만든 Head에 반환값을 대입해주면 된다. 더블 포인터를 이용한 연결리스트 생성 값을 반환하지 않고 더블 포인터를 사용하여 main함수에 생성된 Head에 Node_insert2에 생성된 헤더를 주소로 연결시켜준다. Node_insert2 호출이 끝나 Head가 지워져도 main함수의 head가 힙영역의 데이터의 주소를 가리키고 있기 때문에 연결리스트가 연결되어 있다... 2014. 4. 18.
2014년 4월 16일 일일업무일지 김해성 [출번 9번] 헤더파일로 분할 컴파일을 해봅시다. 헤더파일을 만들어봅시다. source insight를 실행 후에 Project->New Project(만일 프로젝트가 열려있으면 Close Project하고 옆에 있는 대로 수행한다.) 그러고 나서 프로젝트 만들 폴더를 생성하고 만든 폴더안에 들어가서 주소를 복사한다. 다시 소스 인사이트에 와서 프로젝트 이름을 쓰고, 밑에 주소를 붙여넣는다. OK를 누르면 New Project Settings가 뜨는데 여기서 Browse클릭하고, 선택되어 있는 폴더의 상위폴더를 선택 후에 확인을 누른다. 그 다음에 OK를 누르면, 프로젝트에 추가 시킬 파일들이 나열되는데 해당되는 파일들을 선택한다. 헤더파일 사용 중복 방지를 위해서 아래 사진은 studio.h의 소스이다. 헤더파일 중.. 2014. 4. 16.
2014년 04월 15일 업무일지 김진철[출석번호 : 8번] ATmega 128Data Memory Map$ = 0xGPIO(intel = PORT EEPROM은 구조에서 떨어져있기에 따로 컨트롤러를 두고 사용함EEPROM을 동작 시킬수 있는 메카니즘이 따로 존재EEPROM 쓰기 함수 • Bits 15:12 – Reserved-되어있는 비트는 쓰지 않는다. DDRA - Port A Data Direction Register입,출력을 결정하는 레지스터 방향 레지스터0 : 입력 1 : 출력 *((volatile unsigned char *)0x3A)=0x01; // 0x3A의 주소(DDRA)로 가서 0x01을 저장 즉 8비트이므로 0000 0001와 같다. PA0만 출력 unsigned uiCnt;for(uiCnt=0;65000>uiCnt;++uiCnt); // 컴파.. 2014. 4. 15.
안녕하세요! 13기 임기준입니다. 안녕하세요! 14기 여러분 벌써 연결 리스트 배우고 ARM스펙도 공부중이시네요. 재미있는거 하시고있네요.조만간 연결 리스트를 이용해서 도서관리 프로그램도 만들고 원라인도 만드시겠네요. 잘만들어두세요. ^^ 우리 기수는 거의다 취업됐어요. 14기수 여러분들도 열심히 하시면 저희보다 더 좋은데 취업될꺼라 생각해요. 제가 오늘 글을 올리는 이유는 이쯤되면 생각이 많아 지시는 분들이 몇몇 있더라구요.포기하시지 마시구 열심히 하시라구 응원차 글적습니다. 취업스펙에 너무 신경쓰지 마시구 CM님 믿구 포트폴리오 많이 만드세요.저는 컴공과도 안나왔구요 작년에 CM님한테 첨으로 C언어를 첨배웠죠. printf 도 당연히 작년에 첨써보고 하지만 1년 열심히 하니까 적어도 C문법때문에 애먹지는 않습니다. 아직 여러 함수들과.. 2014. 4. 15.
728x90
반응형