반응형 코스웨어/11년 내장형하드웨어132 9월 15일 일일보고서-[내장형]김정우 ARM ultra CM쌤께서 소스를 직접 주셨다. 여기에 장치 핀 번호를 현재 우리가 사용하는 것에 맞게 수정을 해야 한다. 이러한 일을 포팅이라고 한다.ㅇ 각자 포팅을 했을것이라 생각하고 winAPI로 넘어간다.... 6장 비트맵 출력하기 먼저 기본 소스를 가지고 프로젝트를 하나 만든다. 그리고 리소스 스크립트를 하나 추가 한다.(file 메뉴에서 - new 선택 후 아래 화면과 같이 선택) 추가를 했으면 Workspacedp 리소스가 추가 된것을 볼 수 있다. 그러면 이제 insert메뉴에서 Resource를 선택하고 아래 화면에 보이는 Bitmap을 선택하고 Impot시킨다. 이때 bmp 파일을 선택하고 확인을 누르면 아래와 같은 메시지창이 뜬다. 빨간 느낌표가 아니니 놀랄 필요 없다. 파일.. 2011. 9. 15. [내장형]황세선 2011년 9월 14일 UltraSonic(초음파 센서) 오늘도 초음파 센서와 오전을 보냈다. 일단 초음파 센서의 작동 법은 이랬다. 1) 빨간 스피커? 에서 초음파를 발사하는 즉시 타이머를 누른다. 2) 초음파가 벽에 맞고 파란 스피커? 로 돌아오면 타이머를 스톱 한다. 3) 스톱한 타이머를 읽어 거리를 계산한다. 작동법은 크게 3가지로 요약이 되는것 같다. 어째 보면 참 간단하다. 요 세가지 절차만 코드로 옮기면 우리도 박쥐 처럼 거리를 측정할수 있다. 하지만 우리에겐 아직 멀고도 먼 암사마 님은 결코 박쥐의 능력을 쉽사리 내어주지 않는다.ㅠ; 자! 데이터 시트속의 명화 한점을 살펴보자. 음. 각선미 라곤 눈씻고 찾아봐도 없다. 이런걸 즐겨 봐야 한다니 참 서글픈 현실이다. 자 정신 차리고 잘보면 엣지가 돋보이는 위 명화를.. 2011. 9. 15. [내장형]정선주 2011년 9월 9일 ARM과 초음파 센서와의 선 연결 Trigger 와 Echo 타이밍도 Trigger가 최소한 10us 이상 만큼 유지가 되고 HIGH가 되면 ECHO로 초음파를 날리게 된다 그 순간 Timer count가 호출 되면서 시간을 재고 있다 Echo가 HIGH가 되는 순간 Timer count가 정지 하면서 시간을 거리로 바꾸는 것이다 ARM 초음파 센서 소스는 올릴 거 없습니다 제가 초음파 센서를 실패 했기 때문에 부득이 하게 이렇게 올립니다 API 흑백에서의 그리기 모드 그리기 모드의 종류 윈도우즈가 사용하는 그리기 모드 R2_COPYPEN 모드이다 그래서 그려지는 그림이 기존 그림을 덮어버린다. 그리기 모드를 변경하는 함수와 현재 설정된 그리기 모드를 구하는 함수는 다음과 같다 SetROP2(hdc,R2.. 2011. 9. 10. [내장형]심재원_2011년09월08일 수만이 형!! ARM 쪽에 제가 적은거 틀린거 있나 검증 좀 해 주세요. ^_^ 1. ARM ●1초 = 1000ms ●1ms = 1000us ●소리는 1초당 340m를 간다.(이는 수업시간에 들은 것이나 검증된 사실은 아니다.) 다음은 소리가 1cm 가는데 걸리는 시간을 이를 이용하여 구하여 본 것이다. ●분주비를 128로 수정한다.카운터는 23으로 설정한다. 0부터 23까지 세알려지면 그 시간이 초음파가 1cm 전진하는데 걸린 시간, 즉 29.4us 이다. 다음의 소스는 설정을 하는 해당함수와 그 부분만을 나타낸 것이다. void TimerInit(void) { TC0_CMR = (1 2. win32 api ●색상값을 표현하기 위한 데이터 형은 'COLORREF' 이다. ●'COLORREF'는 다음과 .. 2011. 9. 8. [내장형]이수란_2011년9월7일 ARM T/C 사용위한 초기화 순서 - 타이머 카운터에 전원 공급 [PMC_PCER] - 초기화위해 T/C의 클럭 비활성화 [TC_CCR] - 초기화위해 T/C의 인터럽트 모두 비활성화 [TC_IDR] - 초기화위해 T/C의 상태레지스터 클리어 - 상태레지스터는 한번 읽으면 자동으로 0값으로 클리어됨 [TC_SR] - 모든 인터럽트 비활성화 (다른 인터럽트 신호 발생 금지) [AIC_IDCR] - T/C의 인터럽트 발생시 실행할 함수의 벡터(주소) 지정 [ AIC_SVR [P-ID] ] - T/C의 인터럽트 소스모드와 우선순위 설정 [ AIC_SMR [P-ID] ] - T/C의 인터럽트 클리어 [AIC_ICCR] - 타이머 카운터 모드 설정 [TC_CMR] : (분주비 설정(1초에 얼마씩나누어셀지) | .. 2011. 9. 7. [내장형]김동화_2011년_9월6일_일일보고서 ARM - main 함수 이외 모든 함수를 각각의 역할에 맞추어 분리하였다. → 각각의 헤더파일과 .c 파일을 따로 분리하여 생성하고 main함수에 포함시켰다. #include "pioa.h" #include "led.h" #include "lcd.h" #include "interrupt.h" #include "dbgu.h" int main(void) { unsigned char ucRData; LCD_INIT(); LED_init(); interrupt_init(); DBGU_init(); Send_String("Hi"); while(1) // 키보드 입력을 통한 ARM 제어 { ucRData = Recv_Char(); // 키보드로 부터 수신한 신호를 ucRData에 대입한다. switch(ucRDa.. 2011. 9. 6. [내장형]최남식-2011년9월5일 일일보고서 -> 여기서 로컬 루프백은 잘못된 것이고 정상모드로 설정한다. Net Card에도 루프백이 적용된다. 연결주소를 127.0.0.1로 하면 외부로 나가는 것이 아니라 자기한테 다시 돌아온다. ->CHMODE 14 - 00정상모드 ,PAR 9 - 1XX(패리티를 사용하지 않음) 6. -> TXEN : 0 - 무효, 1 - 송신부의 동작을 허용한다. RXEN: 0 - 무효, 1 - 수신부의 동작을 허용한다. 세련된 표현으로 (1 2011. 9. 6. [내장형]윤민석-2011년 9월 2일 일일보고서 USART - 0 , 1 두개 외 DBGU(개발의 용이를 위해 하나 더 지원)로 3개 지원 - 시리얼 통신 -> PA9, PA10을 사용 AT91SAM7S256을 이용한 UART 통신설정 PIOA.h (진한부분이 새로 추가한 부분입니다.) #ifndef __PIOA_H__ #define __PIOA_H__ #define PIOA_PER (*(volatile unsigned int *)0xFFFFF400) // Pin enable #define PIOA_OER (*(volatile unsigned int *)0xFFFFF410) // output enable #define PIOA_PPUDR (*(volatile unsigned int *)0xFFFFF460) // pull-up resistance dis.. 2011. 9. 2. AT91SAM7S의 USART(DBGU) AT91SAM7S의 USART AT91SAM7S는 H/W적으로 3개의 USART(시리얼 통신 포트의 일종)를 가지고 있음. 2개는 정식 USART이고 1개는 AT91SAM7S특유의 Debug Unit임 UART의 필요성 원래 UART는 임베디드의 초기 개발에 아주 중요한 H/W입니다. 임베디드 장비는 모니터 등이 없기 때문에 각종 상태 점검을 가시적으로 확인할 수가 없음. 따라서 LED 등을 이용하기도 하는데 LED로는 장비의 모든 상황을 확인할 수가 없음. 일반 UART와 AT91SAM7S의 USART UART를 사용함으로 해서 임베디드 장비의 많은 부분을 다른 컴퓨터에서 모니터링 할 수 있는 매우 큰 장점이 있음. 원래 UART는 비동기 시리얼 통신만을 지원하 는데 ATMEL사는 여기에 동기 통신 기.. 2011. 9. 2. 이전 1 ··· 5 6 7 8 9 10 11 ··· 15 다음 728x90 반응형