임베디드/고추건조기 27

데이터시트 해석

프로그래머와 하드웨어 다루는 사람의 관점이 다름을 인지 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)  클..

데이터 시트 보는법

데이터 시트 보는법 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. 백지식 칩과 칩 사이에 통신하는 방법 > ..

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..

GPIO제어

GPIO output level  : High : 3.3 v , Low 0v  > HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, 1) enum  reset = 0u ; set;    //set 은  1  //reset이 1이면 > set =2 GPOI mode  push pull : s/w // mcu 3.3v를 제어 open drain : s/w :short > GND                       :open > floating  floating  떠다니는 상태  >전류가 흐를지 말지 모름 >> pull-up 저항 (R) : 위쪽 5v 로 묶여짐 // 저항 > 전류 i 가 생김 pull -down 저항 : 저항을 그라운드쪽에 > s/w 제어 전까진..

ACR 레퍼런스 메뉴얼

데이터시트 분석 > 1. 레퍼런스 메뉴얼에서 검색 ex) ACR //reseverd 는 예약된곳 사용x 2. 설명하는거 나오면 복사  The FLASH_ACR register is used to enadble/disable prefetch and half cycle access, and to control the Flash memory access time according to the CPU frequency.  The tables below provide the bit map and bit descriptions for this register 3. 일단 번역한번 해봄  FLASH_ACR 레지스터는 프리페치(prefetch)와 하프 사이클 접근을 활성화/비활성화하고, CPU 주파수에 따라 플래시 메모..

HAL_Init();

startup 코드(asm) 를 거쳐 main.c 로옴 #define asd \( \ : 다음줄까지도 이어짐) 디버깅할때 if define 안에 안들어오면 회색배경으로 바뀜 > ide의 편리성  (FLASH->ACR |= FLASH_ACR_PRFTBE)typedef struct {   __IO uint32_t ACR;   __IO uint32_t KEYR;   __IO uint32_t OPTKEYR;   __IO uint32_t SR;   __IO uint32_t CR;   __IO uint32_t AR;   __IO uint32_t RESERVED;   __IO uint32_t OBR;   __IO uint32_t WRPR; } FLASH_TypeDef; 1. 하나하나 찾기 #define FLASH (..