티스토리 뷰
특징
더보기
범용 레지스터 16개
memory mapped I/O
512KB 플래시 메모리, 89 I/O
ARM Cortex-M4F core
최대 112MHz(보통 80MHz)
프로젝트 생성 방법
- Keil v5 실행
- Project → new uvision project
- 생성할 프로젝트 폴더 선택
- Project → Select Device for Target
나타난 창에서 코어 선택
NXP S32K144 이므로 S32K144HAxxxLHx 로 찾아서 선택 - Manage Run-time Environment
→ CMSIS → CORE
→ Device → Startup 선택 - Option for Target
- C/C++ 탭→ include Paths → 현재 프로젝트 경로의 RTE 폴더 선택 → Device 폴더 선택 → S32K144HAxxxLHx 선택
- Linker 탭 → Scatter File → Device 폴더의 S32K144_64_Flash.sct 선택
- Debug 탭 → Pemicro Debugger 선택 후 세팅 클릭 → Select New Device 에서NXP - S32K144F512M15 선택
- Output 탭 → 현재 프로젝트 이름 확인, create HEX File 선택
- 타겟의 Source group에서 파일 추가 가능
GPIO
GPIO ports memory map
A ~ E 포트
각 (Base address + 40*a)h
GPIO 레지스터
레지스터는 각 32비트로 레지스터의 비트 값을 바꿔 GPIO 핀 설정을 할 수 있다.
예를 들어 포트 D의 17번 핀에 관한 설정을 하고 싶다면,
포트D의 시작 주소가 Base+C0h 이고 PDDR 레지스터의 offset이 14h 이므로
시작주소에 14h를 더한 곳에 PDDR레지스터가 있다.
그리고 해당 레지스터의 17 비트의 값을 바꿔주면 17번 핀의 설정을 바꿀 수 있는 것이다.
역할 | offset | |
PDOR (Port Data Output Register) |
출력에서 어떤 값이 나오는지 확인할 수 있는 레지스터 | 0h |
PSOR (Port Set Output Register) |
출력을 줄 수 있는 레지스터 | 4h |
PCOR (Port Clear Output Register) |
1이면 출력을 0으로 만드는 레지스터 | 8h |
PTOR (Port Toggle Output Register) |
1이면 출력을 토글하는 | Ch |
PDIR (Port Data Input Register) |
인풋이 어떤 값인지 확인 | 10h |
PDDR (Port Data Direction Register) |
입력 혹은 출력으로 설정하는 레지스터 | 14h |
PIDR (Port Input Disable Register) |
18h |
PCR for GPIO
GPIO에 관한 여러 설정을 할 수 있음
대표적으로 8~10비트가 MUX 기능을 하는데 이를 001로 만들면 GPIO로 사용한다는 뜻임
C programming for embedded
프로그래밍 흐름은 다음과 같이 구성할 수 있음
- clock 설정
- PCR MUX 설정
- GPIO 입력 설정
- 포트의 PDDR을 0으로 하면 GPIO 입력 - GPIO 출력 설정
- 포트의 PDDR을 1로 하면 GPIO 출력 - 동작 부분
ex) PSOR로 출력 핀을 1로 만들거나
PCOR로 출력 핀을 0으로 만들기
'전공 > 컴퓨터 코딩 데이터' 카테고리의 다른 글
C언어 행렬과 연결리스트로 그래프 구현하기 (0) | 2024.11.18 |
---|---|
ROS2 파이썬을 이용한 topic subscribe, publish (0) | 2024.11.07 |
ROS2 기본 구조와 패키지 (0) | 2024.10.03 |
미니콘다 & 주피터 노트북 (파이썬) 설치 | 가상환경 설정 (0) | 2024.09.10 |
ROS2 기본 세팅 (0) | 2024.09.08 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- mealy
- 10만포인트
- 리브모바일
- f-94w
- 교체
- 알뜰 요금제
- 티스토리챌린지
- 계산방법
- 시계 줄
- Liiv M
- 방향장
- 할인
- 카카오페이
- 문서 스캔
- a모바일
- 맛집
- 방어동작
- 알리익스프레스
- 경북대
- 오블완
- 타란튤라
- 배송기간
- 메쉬 밴드
- 북문
- 파스타
- f-91w
- 리브엠
- 카시오
- 알뜰폰요금제
- 네이버페이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함