본문 바로가기
반응형

코스웨어/10년 스마트폰BSP88

[BSP]업무일지 - 김강수 - 20100708 텍스트형 LCD [모델명]HY-160W-204 LCD창에 문자를 출력하도록 하자 회로 구성은 위 그림의 4, 5번 챕터를 참고하여 구성하면된다 참고로 코딩할 때의 번거로움을 없애기 위해 데이터핀 7~14는 ARM의 PA0~PA7 번으로 출력하게끔 하였다. 하나의 설정을 하기 위해서는 다음과 같이 의 타이밍도를 보고 타이밍도에 맞게 코딩을 하면 된다 PIO_CODR = RS; //RS -LOW : Instruction register( ) PIO_CODR = RW; //R/W - LOW : Write Delayms(1); //Tsu1 PIO_SODR =E; //E - High : Enable Delayms(1); PIO_SODR = set; //set : 를 보고 원하는 설정 값을 넣는다 Delayms(1.. 2010. 7. 12.
[BSP]업무일지 - 김병찬 - 20100707 ARM - PIT이용 0.5초마다 하이퍼터미널에 숫자 적기 #include "ioarm.h" //---------- 전력 제어 설정 #define PMC_PCER (*(volatile unsigned int *) 0xFFFFFC10) ///////////////////////////////////////////////////////// #define MASTERCLOCK 48000000 //--------- 딜레이 함수 void Delayms(unsigned int ms) { volatile unsigned int count, countmax = (MASTERCLOCK / 10000) * ms; for(count = 0; count < countmax; count++); } ////////////////.. 2010. 7. 8.
[BSP]업무일지-이상구-20100706 ARM - 주기적인 시간간격 타이머(PIT) 주기적인 시간간격 타미어(Periodic Interval Timer ; PIT)는 운영체제의 스케쥴러(Scheduler)에게 주기적인 인터럽트를 발생시키기 위하여 사용하는 타이머이다. 시간의 정확성을 높이기 위하여 슬로우 클록이 아니라 마스터 클록을 사용하여 카운터가 동작한다. PIT는 마스터 클록을 16분주한 MCK/16의 주파수로 동작하며, 20비트 증가형 카운터 CPIV와 12비트 증가형 카운터 PICNT로 구성된다. 이것이 동작하려면 PIT_MR 레지스터에서 PITEN 비트로 이를 인에이블시켜야 한다. 20비트 카운터 CPIV는 0부터 증가하다가 PIT_MR 레지스터의 PIV 값에 이르게 되면 그 다음 주기에서 동작으로 0으로 클리어 되면서 12비트 카.. 2010. 7. 6.
[bsp]업무일지_한경수_20100705 @@ ARM @@ -LED 두개를 연결해서 신호를 보낸다. ## 타이머 두개를 사용하여 LED하나가 빛이 점점 줄어들면 다른 LED는 점점켜진다. @@ C++ @@ ## 링크드 리스트 ## - 구조체나 배열처럼 C++에서 제공하는 기능이 아니다. 직접 만들어서 사용해야 한다. 링크드는 첫번째 노드부터 원하는 노드에 이르기 까지 모든 노드를 한번씩 거쳐가야 한다. -링크드의 장점 노드의 삽입과 삭제가 훨씬 간단 하다. !! 링크드 리스트의 구현 !! 구조체의 설계 - 링크드 리스트를 구현할 때 먼저 해야 할것은 노드 구조체를 설계 하는것이다. 노드 구조체는 두가지 정보를 보관하는데 녿에 보관할 정보와 연결된 노드의 위치이다. ## 노드를 추가할 때는 InsertNodeAfrer() 함수를 쓴다.## ##.. 2010. 7. 6.
[BSP]업무일지-전현수-20100702 ● 타이머/카운터 1. 개요 AT91SAM7S245 에는 동일한 구조와 기능의 16비트 타이머/카운터 채널 TC0~TC2를 가지고 있다.이들 3개의 채널은 서로 독립적으로 동작하며 이벤트 카운트,주파수 측정,시간 간격 측정,시간 지연,펄스 발생,PWM 출력 등의 기능을 수행할 수 있다. 각 채널은 3개의 외부 클록 입력,5개의 내부 클록 입력,2개의 다기능 I/O 신호 단자 등을 가지고 있으며 또 한 각 채널은 내부 인터럽트를 발생시킬수 있다. 사용자가 타이머/카운터 채널을 사용하려면 해당 채널의 기능을 제어하는 I/O 레지스터를 사용해야 하며 타이머/카운터 블록 제어 레지스터 TC_BCR과 타이머/카운터 블록 모드 레지스터 TC_BMR 등 2개의 I/O 제어 레지스터는 이들 3개 채널에 공통으로 사용된.. 2010. 7. 2.
[BSP]업무일지-박노준-20100701 7월 1일 오전수업 오늘은 ARM과 컴퓨터간 폴링방식이 아닌 인터럽트 방식 통신에 대해 실습 먼저 ARM에 USB포트(ARM전원 및 BIN파일 전송)와 시리얼 포트(컴퓨터와 통신)를 연결하고 0~4번핀, 8번핀에 LED 연결 실습 예제는 컴퓨터와 하이퍼터미널을 이용해서 1, ENTER를 전송하면 모든 LED 꺼지고 1, 0, ENTER를 전송하면 0번 핀에 연결된 LED 1개만 점등 1, 0, 0, ENTER를 전송하면 0,1번핀에 연결된 LED 2개 점등 ... 1, 0, 0, 0, 0, 0, ENTER를 전송하면 0~4번핀에 연결된 LED5개 점등되도록 하는것이다 main함수에서는 컴퓨터에서 문자를 전송하면 인터럽트가 발생하여 위 캡쳐화면에 붉은 박스안에 있는 f_interrupt 함수 호출 인터럽트.. 2010. 7. 1.
[BSP]업무일지-손대원-20100630 오전수업(통신) #include "port.h" unsigned int count = 0; //--------- 전역 변수 void Delayms(unsigned int ms) //딜레이 함수.. { volatile unsigned int count, countmax = (MASTERCLOCK / 10000) * ms; for(count = 0; count < countmax; count++); } int main(void) { //pmc setting //PMC_PCER = 0x600;//PMC_PCER=(unsigned int)1 2010. 6. 30.
[BSP]업무일지-김 진-20100629 오전시간 : ARM ★ 오늘의 목표! : 디버그 유닛(DBGU)을 이용하여 비동기식 RS-232C 통신을 수행해보자~ Q0. 통신이 뭐야? A0. 송신기와 수신기가 신호를 주고 받는 행위. 오늘은 AT91SAM7S256의 디버그 유닛(DBGU)과 IBM PC의 운영체제 Windows XP의 하이퍼터미널 프로그램이 서로 송수신기가 되어, RS-232C 통신 케이블을 통해 통신 할 것이다. Q1. 통신을 왜 하는데? A1. 우리가 쓰는 임베디드 장비, ARM에는 모니터가 달려 있지 않아서, 얘가 지금 뭘 하고 있는지 눈으로 보기가 힘들다. LED, 스위치 같은 거 쓰기도 하지만, 한계가 있다. 통신을 하게 되면, 임베디드의 많은 부분을 다른 컴퓨터에서 모니터링 할 수 있다. (= 효율적으로 디버깅 할 수 .. 2010. 6. 30.
[BSP]-업무일지-정홍환-20100628 @@ C++ @@ !!이전에 한 과제를 객체 지향으로 바꾸어 실행하여라. ## 과제 3-1 ## 1. 문자가 숫자인지 알려주는 isDigit 함수를 구현하세요. 문자 ch를 입력 받고, ch가 숫자인지 출력하세요. 맞다면 YES, 아니면 NO를 출력합니다. 출력) 문자 : P 결과 : NO 문자 : 2 결과 : YES 2. 정수 N을 입력하면 2의 N승을 출력하는 프로그램을 작성하세요. 단, 비트 연산을 이용합니다. 그리고 -1을 입력할 경우 프로그램은 종료됩니다. 출력) 입력 : 6 출력 : 2^6= 64 입력 : 4 출력 : 2^4 = 16 입력 : -1 프로그램 종료 3. 다음과 같은 형태로 문자열이 출력되는 프로그램을 작성하시오. 1) A A B A B C A B C D A B C D E 2) a.. 2010. 6. 28.
728x90
반응형