본문 바로가기

분류 전체보기90

[1]GPIO 입출력 레지스터 직접 제어 출력 레지스터 제어 전 먼저 설정해야 할 것이 있다.- 해당 핀 클럭 소스 선택 HSI or HSE- 타입(풀다운 또는 풀업) ->  GPIOx_OTYPER , GPIOx_PUPDR - 클럭 스피드 지정 -> GPIOx_OSPEEDR- 모드 지정 -> GPIOx_MODER GPIO 출력 설정 레지스터 순서1. GPIOX_CRL - configuration register2. GPIOX_CRH - configuration register3. GPIOX_ODR - data output register4. GPIOX_BSRR - set/reset register5. GPIOX_BRR - reset register 1. Enable GPIOX clock2. Set the PIN as output3. Config.. 2024. 5. 2.
연산자 정리 대입, 산술, 증감, 관계(비교) , 삼항, 쉼표, 포인터, 논리 , 비트 연산자가 있다.그중에서 관계(비교) , 논리 , 비트 연산자를 정리하는 차원에서 해당 글을 적는다. 1, 관계 연산자 : 대소와 동등의 관계를 따지는 연산자이다.- 관계 연산자들은 조건을 만족하면 1(True) , 만족하지 않으면 0(false)을 반환한다. 연산자기능ex) n1 n1이 n2보다 작은가?>ex) n1 > n2n1이 n2보다 큰가?==ex) n1 == n2n1이 n2보다 같은가?!=ex) n1 != n2n1이 n2보다 다른가?ex) n1 n1이 n2보다 같거나 작은가?>=ex) n1 >= n2n1이 n2보다 같거나 큰가?  2. 논리 연산자 : AND(논리곱), OR(논리합), NOT(논리부정)을 표현하는 연산자- .. 2024. 5. 2.
포인터(1) - 포인터 변수 헤당 글은 개인 공부 정리를 위해 작성되었습니다. 포인터(변수)란? -> 메모리 주소 값을 저장하기 위한 변수 포인터 변수 선언 방법 1. 포인터 변수 선언type * ptr;  -? 해당 type형 변수의 주소 값을 저장하는 포인터 변수 ptr 선언포인터 변수의 선언 및 구분에 사용되는 int *, char *, double * 등을 가리켜 포인터 형이라고 한다. 포인터형은 메모리 공간을 참조하는 기준, 포인터 형을 정의한 이유는 * 연산자를 통한 메모리 공간 접근 기준 마련하기 위해서이다. 2. 해당 포인터 변수에 주소 값 저장&연산자 : 피연산자의 주소값 반환 연산자아래 예제에서"i_ptr는 int형 변수 num을 가리킨다.""c_ptr는 char형 변수 ch를 가리킨다."라고 표현한다.void m.. 2024. 5. 2.
GPIO 입출력 [HAL-DRIVER 이용] 아래 글은 STM32F411RE User Manual, Datasheet, Reference Manual를 기준으로 작성되었습니다.사용 IDE : STM32CubeIDESTM32CubeIDE는 HAL Driver라는 ARM 용 API를 사용합니다. GPIO 출력관련 HAL_DRIVER 함수는 stm32cubeide 프로젝트 생성시STM32F4xx_HAL_Driver -> stm32f4xx_hal_gpio.c에서 확인할수 있다. 1) HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)->   GPIOx의 Pin의 상태를 설정한다.매개변수 설명- GPIOx : 포트 지정- GPIO_Pin : 핀 번호 지정- Pin.. 2024. 5. 1.