본문 바로가기

분류 전체보기246

GPIO 다루기 GIPO 예시 예시를 보면서 I/O 관련 register 어떻게 setting 해야하는지 알수 있다. arv cpu 내부 Peripheral 선택 임베디드에서는 하나의 pin 이 여러가지 역활을 한다. 위의 표에서 보이다 싶이 1개의 GPIO를 여러 장치에서 공용으로 사용한다. 때문에 pin 을 어디서 사용하는지 보드에 알려줘야한다. 즉 사용할 장치와 연결하고 사용하지 않을 부분은 다 꺼줘야 한다. ex) pwm 사용 2021. 9. 6.
pwm 실습 레지스터 설정 PWM Mode Register Register Name: PWM_MR PREB = 1024 DIVB = 128 정도 하면 mck 가 48Mhz 임으로 0.043690667 마나 1번씩 가득찬다. PWM Enable Register Register Name: PWM_ENA PWM_ENA = 0x01 CHID0 ,사용 PWM Interrupt Enable Register Register Name: PWM_IER PWM_IER = 0x01 CHID0 인터럽트 허용 PWM Channel Mode Register Register Name: PWM_CMRx CALG = 0 : 왼쪽정렬 CPOL = 0 : 출력은 0 에서 시작 PWM Channel Duty Cycle Register Register .. 2021. 9. 6.
pwm datasheet 분석 at91sam7s mcu 는 4개의 pwm 채널을 가지고 있다. 그림을 보면 , pwm 칩 내부에 자체적으로 카운터가 존재하고 , 비교기 , 등이 모두 존재한다. pmc 에서 사용하는 클럭의 경우 2가지 경우를 사용할 수 있다. 1. mck 로부터 오는 클럭을 분주기로 분주한 값 2. clkA,clkB 값 ( 분주하고 divder 로 한번더 나뉜값) 위 그림의 표를 보면 클럭을 mck를 분주해서 사용할지 , 내가 설정한 clkA,clKB 값을 쓸지 정 할 수 있다. 그림을 보면 알수 있다 싶이 pwm 은 2가지 모드가 존재한다. 따라서 각각의 경우에 duty 구하는 법이 달라진다. 1. center aligned 2. left aligned 하지만 pwm 이 동작하는법은 동일히다. 분주비로 나뉘어진 클럭.. 2021. 9. 6.
mamory map & LED 켜기 // 기본 설정 #define PIOA_PER(*(volatile unsigned int *)0xFFFFF400)// register 사용 가능 #define PIOA_PPUDR(*(volatile unsigned int *)0xFFFFF460)// 풀업저항 #define PIOA_OER(*(volatile unsigned int *)0xFFFFF410)// out put 으로 작동 // 끄기 , 켜기 #define PIOA_SODR(*(volatile unsigned int *)0xFFFFF430) // 켜기 #define PIOA_CODR(*(volatile unsigned int *)0xFFFFF434) // 끄기 void LED_INIT(void) // 1번 pin 기본 설정 { PIOA_OER=.. 2021. 9. 6.
20210903 경보 경보 만들어놈 아날로그 경보 경보 감도, 지연은 경보가 좀 무뎌지게한다. 스크립트 맛보기 2021. 9. 3.
임베디드 스케치 3장 -2 링커스크립트 (Linker Script) - 각각의 오브젝트 파일을 어떻게 하나로 모아 바이너리 파일로 만들지 알려주는 역활을 합니다. 임베디드에서 대표적으로 메모리는 4가지 영역으로 나누어지는데 코드 영역, 데이타 영역, 힙 영역, 스택 영역 이다. 2021. 9. 3.
210903 통신 현장에서 많이 쓰는 접속 방법 : 232 , 422 ,Ethernet 시리얼 통신 (232 , 422 ,485)  1:1 통신만 가능합니다.  통신거리가 짧습니다. (10m 내외)  노이즈에 약하여 장거리 전송이 불가능 합니다.  통신을 위한 시스템 설치가 간편합니다.  D-SUB 9 PIN 케이블을 이용하여 결선합니다.  모뎀이나 PC 의 COM Port 에 사용됩니다.  전이중 통신이 가능하다. 485 통신  1:N(N:M) Multi Drop 통신이 가능합니다.  통신거리가 최대 1.2km(통상 700~800m 권장) 가능합니다.  노이즈에 대하여 RS-232C 보다 월등히 우수합니다.  5 PIN 터미널을 통한 4 선식(RS422) 또는 2 선식(RS485) 결선방식으로 결선합.. 2021. 9. 3.
임베디드 레시피 3장 크로스 컴파일러 보통의 컴파일러는 실행하는 컴퓨터와 컴파일하는 컴퓨터가 동일하다 하지만 임베디드 환경에서는 컴파일하는 곳과 실행하는 컴퓨터가 상이하다. 때문에 특별한 컴파일러가 필요하고 이를 크로스 컴파일러라고 푸른다. 이러한 차이는 pc 에서 쓰는 cpu 와 임베디드에서 사용하는 cpu 가 달라서 똑같은 기능을하는 실행파일( 바이너리파일) 이라도 cpu 에 따라서 다르게 생성되기 때문이다. 크로스 컴파일러가 실행되는 과정 결국 .c 파일과 .S 파일로 만들어진 오브젝트 라일을 통해서 링킹 작업을 통해 ,elf(실행파일) 을만든다. ( 어셈블 언어로는 C 언어에서는 처리하지 못하는 부분을 해준다. 스택 만들기 메모리 segment 등등 ) elf 파일은 -> 디버깅을 위한 파일이다. 디버깅을 위한 타겟의.. 2021. 9. 2.
uart https://wowcat.tistory.com/2266 20150814 11번 남수진 - ARM(DBGU 수신 인터럽트 사용) 데이터시트 분석 DBGU는 System Controller에 속한다 인터럽트를 사용하기위해서는 System Controller PID(1) 비트의 AIC 인터럽트를 활성화해야함 제어 레지스터 System Controller에 해당하는 레지스터 영역를.. wowcat.tistory.com https://wowcat.tistory.com/641 [BSP]업무일지-김 진-20100629 오전시간 : ARM ★ 오늘의 목표! : 디버그 유닛(DBGU)을 이용하여 비동기식 RS-232C 통신을 수행해보자~ Q0. 통신이 뭐야? A0. 송신기와 수신기가 신호를 주고 받는 행위. 오늘은 A.. 2021. 9. 2.