[C] 비트필드
구조체로 비트별 설정 가능. typedef struct{ unsigned int up : 1; // 1비트 사용. 0과 1 표현. unsigned int down : 1; int left : 1; // 1비트 사용. -1, 0 표현 unsigned int right : 5 //5비트 사용. }bit; 잘 사용하면 메모리의 효율을 증가시킬수 있다.
차곡차곡 모은 사진을 준비하고 있습니다.
A collection of moments, by Starlighton.
구조체로 비트별 설정 가능. typedef struct{ unsigned int up : 1; // 1비트 사용. 0과 1 표현. unsigned int down : 1; int left : 1; // 1비트 사용. -1, 0 표현 unsigned int right : 5 //5비트 사용. }bit; 잘 사용하면 메모리의 효율을 증가시킬수 있다.
for(i=0; i< MAX; i++, j++) 콤마로 구분 하여 진행 가능.
ST사의 홈페이지에 가서 사용할 chip 또는 보드를 검색하면 대부분 나온다. 1. Data sheet Data sheet는 핀맵, 기능, 특성등이 있는 문서이다. H/W를 설계하거나 해당 디바이스에서 사용되는 기능이나 핀들을 간단하게 보고자 하면 이 문서를 참조하면 된다. 2. Reference manual Reference manual은 디바이스가 제공하는 기능에 대하여 상세하게 설명하며, 이를 사용하기 위한 SFR(Special Function Register)에 대한 설명을 가지고 있는 문서이다. 해당 기능을 사용하기위한 코드를 작성할 때 필수적으로 참조하야 하는 문서이다. 3. Programming manual STM32에 사용되는 Cortex-Mx의 레지스터, 인터럽트, 타이머, 명령어(Ins..
회로를 보면 Pull up(풀업)저항과 Pull down(풀다운) 저항을 자주 볼 수 있고, 자주 접한다. 1. Pull down (풀다운) 위 회로는 풀다운 회로이다. SW가 평상시에는 눌린상태가 아니기에 입력상태인 PORT는 저항 R1을 거쳐 GND가 연결된 상태이므로 디지털적으로 0(low)가 된다. 위 상태에서 SW1을 push했다고 해보자. ATmega128을 예로들면 PORT에는 입력으로 레지스터를 설정했을시에 높은 저항을 가진 내부 입력저항이 존재한다. 그리고 push 스위치를 on시켰을때 전류는 위 그림에서 빨간색 화살표와 같이 GND를 향하여 흐른다. 그러므로 저항 R1에는 5V의 전압이 양단에 걸리며, PORT 역시 5V가 걸린다.(병렬회로에서 전압은 같게 분배된다.) 위 설명이 이해가..
사용한 부품 LED : BL-B2134(333GD) Registor : 180, 330, 680 1. 사용된 LED의 Datasheet를 먼저 보기. LED를 구입한 사이트에서 LED의 Datasheet를 다운로드 받아 open 한다. Datasheet를 보면 이 LED에 대한 정보를 얻을 수 있다. 아래 Maximun Ratings를 보면 Forward Current(순방향 전류)가 30mA라고 되어있는것을 볼 수 있다. Maximun Current이므로 흐르는 전류는 30mA 이상을 넘지 않아야하며 가능하면 30mA 부근까지 가도록 하는 설계는 지양하는것이 좋다. 스크롤을 내려 Electrical and optical characteristics 를 본다. 20mA가 흐르는 조건에서 Forward V..
//모듈명 및 외부 신호 이름 선언. module COUNT_8BIT( RESETN, CLK, COUNT_OUT) //모듈 외부 신호의 in,out을 설정. input RESETN; input CLK;output[7:0] COUNT_OUT; // [7:0]은 8bit를 뜻함. //reg및 wire 설정. COUNT_OUT을 reg로 선언함으로써 데이터를 저장하도록 하였음. reg[7:0] COUNT_OUT; //수행. always@(posedge CLK) //항상, 클락의 rising edge(0->1) 에서 동작.begin if(~RESETN) //RESETN은 RESET의 NOT을 뜻하는 이름. 즉, 0이들어오면 1이 되어 리셋 수행. COUNT_OUT
구조체로 비트별 설정 가능. typedef struct{ unsigned int up : 1; // 1비트 사용. 0과 1 표현. unsigned int down : 1; int left : 1; // 1비트 사용. -1, 0 표현 unsigned int right : 5 //5비트 사용. }bit; 잘 사용하면 메모리의 효율을 증가시킬수 있다.
for(i=0; i< MAX; i++, j++) 콤마로 구분 하여 진행 가능.
ST사의 홈페이지에 가서 사용할 chip 또는 보드를 검색하면 대부분 나온다. 1. Data sheet Data sheet는 핀맵, 기능, 특성등이 있는 문서이다. H/W를 설계하거나 해당 디바이스에서 사용되는 기능이나 핀들을 간단하게 보고자 하면 이 문서를 참조하면 된다. 2. Reference manual Reference manual은 디바이스가 제공하는 기능에 대하여 상세하게 설명하며, 이를 사용하기 위한 SFR(Special Function Register)에 대한 설명을 가지고 있는 문서이다. 해당 기능을 사용하기위한 코드를 작성할 때 필수적으로 참조하야 하는 문서이다. 3. Programming manual STM32에 사용되는 Cortex-Mx의 레지스터, 인터럽트, 타이머, 명령어(Ins..
회로를 보면 Pull up(풀업)저항과 Pull down(풀다운) 저항을 자주 볼 수 있고, 자주 접한다. 1. Pull down (풀다운) 위 회로는 풀다운 회로이다. SW가 평상시에는 눌린상태가 아니기에 입력상태인 PORT는 저항 R1을 거쳐 GND가 연결된 상태이므로 디지털적으로 0(low)가 된다. 위 상태에서 SW1을 push했다고 해보자. ATmega128을 예로들면 PORT에는 입력으로 레지스터를 설정했을시에 높은 저항을 가진 내부 입력저항이 존재한다. 그리고 push 스위치를 on시켰을때 전류는 위 그림에서 빨간색 화살표와 같이 GND를 향하여 흐른다. 그러므로 저항 R1에는 5V의 전압이 양단에 걸리며, PORT 역시 5V가 걸린다.(병렬회로에서 전압은 같게 분배된다.) 위 설명이 이해가..
사용한 부품 LED : BL-B2134(333GD) Registor : 180, 330, 680 1. 사용된 LED의 Datasheet를 먼저 보기. LED를 구입한 사이트에서 LED의 Datasheet를 다운로드 받아 open 한다. Datasheet를 보면 이 LED에 대한 정보를 얻을 수 있다. 아래 Maximun Ratings를 보면 Forward Current(순방향 전류)가 30mA라고 되어있는것을 볼 수 있다. Maximun Current이므로 흐르는 전류는 30mA 이상을 넘지 않아야하며 가능하면 30mA 부근까지 가도록 하는 설계는 지양하는것이 좋다. 스크롤을 내려 Electrical and optical characteristics 를 본다. 20mA가 흐르는 조건에서 Forward V..
//모듈명 및 외부 신호 이름 선언. module COUNT_8BIT( RESETN, CLK, COUNT_OUT) //모듈 외부 신호의 in,out을 설정. input RESETN; input CLK;output[7:0] COUNT_OUT; // [7:0]은 8bit를 뜻함. //reg및 wire 설정. COUNT_OUT을 reg로 선언함으로써 데이터를 저장하도록 하였음. reg[7:0] COUNT_OUT; //수행. always@(posedge CLK) //항상, 클락의 rising edge(0->1) 에서 동작.begin if(~RESETN) //RESETN은 RESET의 NOT을 뜻하는 이름. 즉, 0이들어오면 1이 되어 리셋 수행. COUNT_OUT
다른 주제를 선택하거나 이 주제의 전체 글 목록을 확인해 보세요.