stm32f103 gpio 예제

재설정 및 클럭 제어(rcc) 및 범용 I/O(gpio)에 대한 경로를 추가합니다. 참조 튜토리얼 2 단계 2.3 S:libopencm3포함 검색 디렉토리로 추가 된 방법을 볼 수 있습니다. 즉,는 S:libopencm3/포함/libopencm3/stm32/rcc.h에 위치하며, 여기서 S: s: libopencm3의 실제 위치에 매핑된 Windows 드라이브입니다. `gpio_port_read(GPIOC)` 함수는 포트 C에 연결된 16개의 핀 모두의 현재 값을 읽습니다. `&BIT13`과 같은 마스크는 단일 핀(또는 여러 핀)을 읽는 데 사용해야 합니다. 파란색 사용자 버튼은 입력과 GND 사이에 연결된 스위치입니다. 외부에서는 필터링을 위해 접지에 연결된 커패시터를 충전하는 저항기를 통해 입력이 VCC에 연결됩니다. 즉, 커패시터는 스위치와 평행합니다. STM32 GPIO 예제 프로그램은 STMicroelectronics STM32F103xx 마이크로 컨트롤러의 GPIO 포트를 구성하고 사용하는 방법을 보여줍니다. 핀 PB8.. PB15(LED)는 출력으로 구성되고 핀 PA0(S2) 및 PC13(S3)은 입력으로 구성된다. 버튼 S2 또는 S3를 누르면 조명 LED가 왼쪽 또는 오른쪽으로 이동합니다. 시계와 GPIO 포트의 구성은 파일 STM32_Init.c의 구성 마법사를 사용하여 수행됩니다.

두 개의 μVision 표적을 사용할 수 있습니다: 예는 Keil 평가 위원회 MCBSTM32로 테스케이트됩니다. 노드/구성이 끌어오기/아래 입력을 지정하는 경우, gpio_clear 호출은 끌어오기 저항기를 선택하는 데 사용되고 gpio_set 호출은 끌어오기 저항기를 선택하는 데 사용됩니다. 예를 들어 간단한 단추를 사용하는 경우 라이브러리 호출을 피하기 위해 매크로를 사용하여 로컬에서 코드를 생성할 수 있습니다. 이 예제에서는 매크로가 라이브러리 호출과 호환될 수 있도록 만들어집니다. 이 방법을 사용하면 응용 프로그램 코드를 변경하지 않고도 매크로와 라이브러리 호출 을 빠르게 선별할 수 있습니다. 매크로 정의를 주석으로 주석을 달면 라이브러리 호출이 사용됩니다. `gpio_set(GPIOA, GPIO5)` 및 `gpio_clear(GPIOA, GPIO5)` 함수는 PA5에 1 또는 0을 작성하는 데 사용됩니다. 녹색 LED와 저항기는 출력과 GND 사이에 연결됩니다.

즉, 1을 작성하여 LED가 켜집니다. PC13은 디지털 입력으로 사용되지만 실제 신호는 아날로그 전압입니다. 버튼을 누르면 인식된 값이 1에서 0 “즉시” 이동하고 커패시터가 모든 바운싱 효과를 필터링합니다. 모든 조건에서 보장되지는 않습니다. 이 스크린샷은 버튼 값을 LED로 복사하는 데 약 0.7마이크로초가 걸린다는 것을 보여줍니다. 우리는 Ld2로 우리의 LED를 구성 한 기억, 그래서 //이 기능 `HAL_GPIO_ReadPin()`디지털 givn 핀의 상태를 읽을 것 이다 우리는 우리의 STM32 보드에 블루 버튼에서 입력을 걸릴 것입니다 같은 보드에 LED를 전환. IF(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin)=0) //=> 버튼이 검색 보드를 위해 특별히 설계된 장치 라이브러리를 누른 경우입니다. EmBitz를 시작할 때 새 프로젝트를 만들 때 템플릿에서 새로 만들기 대화 상자가 표시됩니다. 설정에는 두 가지 매개 변수 모드와 구성이 있습니다. 사용 가능한 모드는 그리고 그래서 STM32CubeMX의 마이크로 컨트롤러는 이제 다음과 같이 보인다 : (그림 2에서 와 같이 `PIN OUT`버튼을 클릭하여이 탭으로 전환하려면) 최적화 후, while 루프 코드 크기는 0x214 – 0x20C = 8 바이트입니다. 언제나 처럼 먼저 우리는 표준 주변 도서관 포함 으로 우리의 프로젝트를 설정 해야. 우리는 우리가 마지막 튜토리얼에서 준비 한 동일한 프로젝트 템플릿을 사용할 수 있습니다.

그냥 우리는 생략하려고합니다 . PC13이 GND에 끌어내리는 저항기와 연결되어 있으면 외부 저항에 대해 작동합니다. 버튼이 해제되면 아래에서 볼 수 있듯이 몇 가지 바운싱 효과가 있습니다.

0saves
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Comments are closed.