전체 글 81

1018번

임의로 8*8 을 자르고 그 중 제일 색칠할칸이 적은 값을 출력결국 1*1 도 정사각형이라 칸의 수를 출력하면됨  1. 8*8 정사각형으로 자르려면 최소 8칸은 남아 있어야함남은게 8칸 미만일시 실행x ,  for (int i = 0; i 2. 자른 정사각형이 체스판형태가 아니라면 칠해야함  0 1 2 3 4 5 6 7 // 8칸 첫번째) 좌상단이 W 인경우 >  짝수 W, 홀수 B// 첫번째 좌상단 Wif ((x + y) % 2 == 0) { if (board[i + x][j + y] != 'W') paint1++;} else { if (board[i + x][j + y] != 'B') paint1++;}// 두번째 좌상단 Bif ((x + y) % 2 == 0) { if (board[..

C언어/백준 2024.11.26

SWI 의 진실

Hardware없이 interrupt를 거는 방법?  SoftWare Interrupt :  Asynchronous(비동기식) 하게 암때나 걸리는 게 Interrupt       Software Interrupt != Interrupt           > Software적으로 Exception을 거는것임.         > User mode에 있던 System > Supervisor mode로 전환,         > Software Interrupt를 거는 순간부터는 Privileged Mode로 전환 System을 마음대로 주무를 수 있는 권한이 생김. 왜 이런 SWI( software interrupt) 사용? : compatibility.      > kernel service를 이용할 때 많이..

vector table의 구현과 실제

Vector Table: 각각의 Exception이 일어 났을 때 정해진 곳으로 branch > 그 용도에 맞는 처리 routine들이 들어 있으면 됨.    Low Vector를 기준 ;----------------------------------------------------------------------------; ; ADDRESS EXCEPTION MODE ON ENTRY ;----------------------------------------------------------------------------; ; 0x00000000   Reset               Supervisor ; 0x00000004   Undefined Exception Undefined ; 0x0000000..

오실로스코프

: 오실레이터 ( 진동 ) 을 스코프 진동파형을 보는 장비 수직 : 전압 수평 : 시간 구조 신호 (아날로그) : 프로브 > 증폭 > ADC ( 표본화 양자화 부호화) > 저장 (시간축에 대해 파형을 쭉 그려나가기 위해)                                   >Triger : 일정 전압이 딱 넘었을때 그 기점의 정보 상단 : 1칸의 전압, 1칸의 초 // 1v/dv : 1칸에 1v , 500nS/div : 1칸에 500ns open ch : 채널 활성화 open FFT : FFT 활성화 // 주파수 분석 coupling : DC / AC  // AC : 신호가 1,0 으로 됐을때 떨리는 그 부분만 볼 수 있음 probe mode : 배율 트리거 :  ex) if(전압 >= x VO..

데이터시트 해석

프로그래머와 하드웨어 다루는 사람의 관점이 다름을 인지 cpu 코어의 성능 : TR 을 얼마나 밀도 있게 넣었냐에 따라 다름하드/Flash > memory (ram) > reg > cpu  >> reg,reg > ALU (연산) > reg mem 1번지 > reg //32bit 만큼 읽어옴 if. 32bit) 메모리, 레지, cpu, 메모리>레지로가는 라인, all 32 bit             : 메모리 주소 최대값 : 2^32 ~= 4gb ARM® 32-bit Cortex®-M3 CPU Core a) 72 MHz maximum frequency : 클럭 ( 명령의 기준점 ) 1 HZ : 파형의 한주기 72,000,000번 / 1초 b)  1.25 DMIPS/MHz (Dhrystone 2.1)  클..

FIFO 메모리관리

FIFO 메모리 ~= 선입선출용량 : 3칸 읽어온것을 내보내고 다음걸 읽어내고 내보내고..용량을 초과해서 추가, 제거 : 에러 void enqueue(QU* qu, int value) { if ((qu->front - qu->rear) == SIZE || (qu->front - qu->rear) == -SIZE) { // 큐가 꽉 찬 경우 printf("Error: enqueue when full(value %d ignored)\n", value); return; } printf("[%d] front % SIZE, value); // 삽입 정보 출력 qu->mem[qu->front % SIZE] = v..

C언어/백준 2024.11.24

데이터 시트 보는법

데이터 시트 보는법 1. 목적을 세우자 : 목표를 세우고 그에 맞는 지식을 습득한다.   > 오늘의 목표 : Led display driver ic 를 통해 7세그먼트 LED display 제어 2. 장치들의 개념 이해 : 구글링으로 간단 이해     > 1번핀 e , 2번핀 d ..         > led display driver 와 7세그먼트 의 연결          > stm32에 연결되는 핀을 많이 줄일 수 있다. // 32개를 3개로     : sg1 에 전원인가 > a1 ,a2 가 둘다 켜짐 > gr1,gr2 로 둘중 하나 택 하게 할 수 있음 > 이걸 토대로 실제 dataseet 확인 >> stm32 가 어떻게 돌아가도록 코드를 짤것인가?? 3. 백지식 칩과 칩 사이에 통신하는 방법 > ..

2789번, 2231번

2789번1. 3장의 카드가 중복되지 않아야함.2)----------------------------ex) 5장 카드 1,2,3,4,5 1-2-3 1-2-4 1-2-5 1-3-4 1-3-5 1-4-5 2 .... 3 .... ---------------------------나머지 두장 카드 때문에 첫번째 카드의 N-2 까지만나머지 두장 카드 때문에 세번째 카드는 k+2 부터  for (int i = 0; i   2231번자릿수 값의 최대치는 9*6 ( ex) 999999 (9+9+9+9+9+9)  continue : 루프를 끝내는게 아니라 해당 조건만 pass 하므로 N =53 일때 i=-1 , 0, 1, 2, ,,, 10 >  i=-1 을 건너뜀 for (int i = N - 9 * 6; i  216..

C언어/백준 2024.11.23

GPIO 마무리, 회로도 보기

GPIO 제어과정 power on > startup code(.s) > main __HAL_RCC_GPIOC_CLK_ENABLE();  R/M :  APB2 peripheral clock enable register (RCC_APB2ENR)                 IOPCEN 1: IO port C clock enabled 클럭 > 전류를 더욱 사용        : 전류를 아껴야 하는 상황 : sleep mode + 클럭도 하나 하나 제어 회로도 보는법 ex) FND Module :  1. VCC : 전원에 연결 3.3v  2. SCLK : PB15_FND-SCLK // 28번핀 3. RCLK : PB13_FND-RCLK // 26번핀 4. DIO : PB14_FND-DIO // 27번핀 5. GN..