c언어 자료형 크기

시스템의 크기(cpu)에 따라 자료형 크기가 다르게 정의된다.


Int는 시스템의 기본 연산 단위를 사용한다.

따라서 16비트시스템에서는 short와 같은 2바이트, 32비트에서는 long과 같은 4바이트.

그런데 64비트 시스템으로 오면서 int long보다 큰 8바이트로 하기에는, 자료형 본래취지에 벗어나므로 int대신 long 8바이트로 확장, int 4바이트 크기 그대로 사용하면서, 4바이트 크기의 자료형을 독자적으로 담당하게 되었다.

 


NPN PNP트랜지스터

NPN 트랜지스터 : N-P-N형 반도체를 적층한 반도체, 이때 베이스만


'업무 > 임베디드' 카테고리의 다른 글

CANoe 관련 - Panel 생성, DB 경로 설정  (0) 2019.03.22
자동차 방향지시등 (깜빡이) 점멸 시간  (0) 2018.11.12
풀업저항, 풀다운저항 16.01.26  (0) 2018.05.11
DMA 16.01.26  (0) 2018.05.11
와치독 타이머 16.01.11  (0) 2018.05.11

풀업저항, 풀다운저항

풀업저항 : 스위치가 OFF된 평상시에 원하는 부분 A HIGH상태를 유지하도록 해주는 저항

 


, 스위치가 ON되어 있으면 전류가 그라운드로 흐르게 되므로 A LOW상태.

스위치가 저항인거야. A부분에 저항이 있어서 전류가 분기되는 지점에서 저항이 없는 쪽으로 흐르게되는거..

그리고 스위치가 OFF되어 있을 때에는 전류가 A로 흐르기 때문에 A HIGH상태.

평상시 상태는 OFF이므로, 평상시 플로팅 상태가 되지 않고 항상 HIGH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

풀다운저항 : 스위치가 OFF된 평상시에 A LOW 상태를 유지하도록 해주는 저항


스위치가 ON된 상태에서는 A에 전류가 흘러 HIGH상태.

스위치가 OFF된 상태에서는 A는 접지와 연결되어있으므로 무조건 LOW 상태.

따라서, 풀다운 저항을 사용하면 평상시 소자를 LOW상태로 유지할 수 있게 되어 플로팅 상태가 되지 않음.

 

 

*플로팅 상태 : HIGH LOW인지 정확히 알지 못하는 상태.

따라서 풀업, 풀다운 저항을 통해 플로팅 상태가 되지 않게 해주어야 함.


'업무 > 임베디드' 카테고리의 다른 글

자동차 방향지시등 (깜빡이) 점멸 시간  (0) 2018.11.12
NPN PNP트랜지스터 16.01.26  (0) 2018.05.11
DMA 16.01.26  (0) 2018.05.11
와치독 타이머 16.01.11  (0) 2018.05.11
레지스터 용어 정리 15.06.15  (0) 2018.05.11

DMA

Direct Memory Access

CPU와 상관없이 전송하는 방법.

데이터를 전송하는 방법은 크게 두가지.

1)데이터를 버퍼에 담아서 cpu에 이를 전달해서 전송하는 방법

2)Cpu거치지 않고 바로 데이터 실어 보내는 방법 :이게 DMA



      DMA를 사용하지않고 직접 Access (느림)

CPU -----------------------------------------------> Memory/ device


CPU--------------DMA를 통함 ---------------------> Memory/ device

                            DMAC (빠름)


'업무 > 임베디드' 카테고리의 다른 글

NPN PNP트랜지스터 16.01.26  (0) 2018.05.11
풀업저항, 풀다운저항 16.01.26  (0) 2018.05.11
와치독 타이머 16.01.11  (0) 2018.05.11
레지스터 용어 정리 15.06.15  (0) 2018.05.11
Fujitsu MCU UART Register 정리 15.06.12  (0) 2018.05.11

와치독 타이머

특징 : MCU 내부 클럭 사용

역할 : 일정시간마다 IO PORT Reset시켜, 프로그램이 오작동하게 될 경우 오작동에서 벗어나게 해준다.->안정성 향상

부가 설명 : 모든 Task가 제 때 응답가능한지 Check해서, 문제가 있을 경우 CPUReset시킨다. 모든 Task 관리가능

Ex) Priority가 높은 녀석들이 계속 일을 해대서 Priority가 낮은 Task에게 순서가 잘 오지 못하는 상황

Ex) 어떤 Resource에 대해서 Mutex를 잘못 걸어서 교착 상태에 빠졌다던가 해서 System Lock up이 되거나 하면 System을 다시 원상 복구 시켜야 되는데 그게 참 어려우니까, 간단하게 System Reset

->Hardware적인 Timer를 두고서 그 Timer Expire되면 (모래시계의 모래가 다 떨어지면) System Reset 시켜 버리는 거구요, Expire 되기 전에 (모래 시계가 다 떨어지기 전에) 모든 Task가 정상적으로 나 살아 있다는 Report를 받으면 Timer Reset (처음 값으로 설정)해서 다시 모래 시계가 떨어지도록 하는 System


'업무 > 임베디드' 카테고리의 다른 글

풀업저항, 풀다운저항 16.01.26  (0) 2018.05.11
DMA 16.01.26  (0) 2018.05.11
레지스터 용어 정리 15.06.15  (0) 2018.05.11
Fujitsu MCU UART Register 정리 15.06.12  (0) 2018.05.11
fujitsu mcu register 정리 15.06.12  (0) 2018.05.11

*용어정리

PRRR1: Peripheral Resource Relocation Register1

INT8: 인터럽트

TTG:Input pin으로 사용

 

>>----:입력

<ß---:출력

GPIO: 다용도 입출력 포트(high출력->LED off, Low출력->LED on / 1:출력 0:입력)

GPIO-구동부 와 제동부(DDR-데이터디렉션레지스터, PIN-인풋 핀 어드레스, PORT-데이터 레지스터) 로 나뉨

 

DDR:각각의 비트는 각각의 핀을 출력으로 사용할지, 입력으로 사용할지 설정

PIN: 입력으로 설정된 경우, 각각의 외부 핀 상태가 저장

PORT:출력으로 설정된 경우, 각각의 핀에 해당하는 값 출력


'업무 > 임베디드' 카테고리의 다른 글

DMA 16.01.26  (0) 2018.05.11
와치독 타이머 16.01.11  (0) 2018.05.11
Fujitsu MCU UART Register 정리 15.06.12  (0) 2018.05.11
fujitsu mcu register 정리 15.06.12  (0) 2018.05.11
aligned access, unaligned access  (0) 2018.04.23

UART Register 정리

-SCRn(Serial Control Register 시리얼 제어 레지스터) : 송수신동작 및 송수신 클락 소스의 선택을 행하는 8비트 레지스터

-SSRn(Serial Status Register 시리얼 스테터스 레지스터) : SCI3의 스테터스 플래그와 송수신 멀티 프로세서 비트로 구성. TDRE, RDRF, OER, PER, FER은 클리어만 가능.

ESCRn(Extended Status/Control Reg.)

BGRHn(Baud Rate Generator Reg.)

SMRn(Serial Mode Register 시리얼 모드 레지스터) : 시리얼 데이터 통신 포멧 설정, 내장 보율 제너레이터의 클락 소스를 선택하기 위한 8비트 레지스터.

RDRn/TDRx(RX, TX Data Register)

ECCRn(Extended Comm.Contr. Reg.)

BGRLn(Baud Rate Generator Reg.)

ESIRn(Extended Serial Interrupt Reg.)

-RSR(수신 Shift 레지스터): 시리얼 데이터를 수신하기 위한 레지스터.

-RDR(수신 데이터 레지스터) : 1바이트의 데이터수신이 종료되면, 수신한 데이터를 RSP에서 RDR로 전송하여 수신동작 완료. 그 후 RSR은 수신 가능이 됨. RSR, RDR은 더블 버퍼로 이루어져 있으므로 연속된 수신동작 가능. RDR은 수신전용 레지스터이므로 CPU로부터 Write 안됨.

 

-TDR (송신 데이터 레지스터) : 송신 데이터를 저장하는 8비트 레지스터. TSR“Empty”를 검출하면 TDR에 기록된 송신데이터를 TSR로 전송하여 시리얼 데이터 송신을 시작. TSR의 시리얼 데이터 송신 중에 TDR에 다음 송신 데이터를 Write 해두면 연속송신 가능. TDR은 항상 CPU에 의한 Read/Write 가능

-TSR(송신 Shift Register) : 시리얼 데이터를 송신하기 위한 레지스터. TDR에서 송신 데이터를 일단 TSR로 전송, LSB(비트0)로부터 순서대로  TXD32단자에 송출함으로써 시리얼 데이터의 송신 수행. 1바이트 데이터를 송신하면 자동적으로 TDR에서 TSR로 다음 송신 데이터를 전송하여 송신을 시작. , TDR에 데이터가 기록되어 있지 않은(TDRE“1”dl 설정되어 있는) 경우, TDR에서 TSR로의 데이터 전송은 행하지 않음. CPU로부터 TSR을 직접 Read/Write 불가.


'업무 > 임베디드' 카테고리의 다른 글

와치독 타이머 16.01.11  (0) 2018.05.11
레지스터 용어 정리 15.06.15  (0) 2018.05.11
fujitsu mcu register 정리 15.06.12  (0) 2018.05.11
aligned access, unaligned access  (0) 2018.04.23
pan angle, tilt angle  (0) 2018.03.26

Crystal Clock : 4Mhz

CPU Clock : 56Mhz

PCLK1 : 14Mhz

PCLK2 : 14MHz


BGR2 = UART_BAUDRATE_115200; /*설명 : 보율레지스터 속도를 115200으로 지정 */ 

  • SCR2 = 0x17;     /*설명 :0001 0111 시리얼 컨트롤 레지스터 : 송수신동작 및 송수신 클락 소스의 선택을 행하는 8비트 레지스터

(PEN:0-> 패리티비트를 더하지 않음  P:1-> 패리티셋팅:짝수 가능 SBL:1-> 스탑비트길이:1비트 CL: 문자길이:8비트

AD:1-> 데이터비트 CRE:0->W만허용, 에러 발생시 에러플래그를 초기화한다 RXE:0->수신가능 TXE:0-> 전송가능)

 

  • SMR2 = 0x0D;    /*설명 :0000 1101 시리얼 데이터 통신 포멧 설정, 내장 보율 제너레이터의 클락 소스를 선택하기 위한 8비트 레지스터.                             (MD0: 셋팅을 비동기식 normal모드 OTO:0->1:1 외부클락인풋 가능(보율제너레이터 클락-리로드 C

LIN-USART 비트의 시리얼데이터출력 가능, 시리얼클락출력 불가능 또는 LIN-USART클락 INPUT PIN*, 소프트웨어 리셋 가능(Write), Read는 항상 0, 외부 시리얼클락소스 사용, 1:1 외부클락인풋 가능(보율제너레이터 클락-리로드 C), 오퍼레이션 모드 셋팅:비동기식 normal모드*/                                                                   

                                                               

                                                               

  • SSR2 = 0x00;     /*설명 :0000 0000                                                        

전송인터럽트 불가능, 수신인터럽트 불가능, LSB First /발신가능, 전송데이터저장레지스터:Full, 수신데이터레지스터:비어있음프레이밍에러없음, 오버런 에러없음, 패리티에러없음 */ 

  • SSR2_RIE = 1;     /*설명 : 수신인터럽트 가능 */   
  • SSR2_TIE = 0;     /*설명 : 전송인터럽트 불가능*/        
  • SSR2_TDRE = 1; /*설명 :전송데이터 레지스터: Full */
  • SSR2_RDRF = 0; /*설명 :수신데이터레지스터:Empty */

 

'업무 > 임베디드' 카테고리의 다른 글

와치독 타이머 16.01.11  (0) 2018.05.11
레지스터 용어 정리 15.06.15  (0) 2018.05.11
Fujitsu MCU UART Register 정리 15.06.12  (0) 2018.05.11
aligned access, unaligned access  (0) 2018.04.23
pan angle, tilt angle  (0) 2018.03.26

+ Recent posts