GPIO

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 22

CHƯƠNG 1

GPIO
Mục tiêu chương 1

 Hiểu được các khái niệm cơ bản về Port, Pin của một vi điều
khiển.
 Hiểu được thế nào là GPIO và các chức năng của nó.
 Có thể sử dụng và giao tiếp thông qua GPIO.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 2


Nội dung chương 1

1 Tổng quan
Giới thiệu chi tiết về GPIO

NỘI DUNG
2 Chức năng
CHÍNH Những chức năng chính và các Function liên quan

3 Cài đặt
Làm thế nào để có thể sử dụng GPIO được trên STM32

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 3


Tổng quan
TỔNG QUAN

Trước khi bắt đầu thì thế nào là Pin ?? Thế nào là Port ??

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 5


TỔNG QUAN

Pin
Pin là từ viết tắt của Port Input và có nghĩa nó chính là những chân đầu vào hoặc đầu ra của
vi điều khiển . Với mỗi chân GPIO, ta có thể điều khiển trạng thái logic của nó hoặc
đọc trạng thái logic từ nó. Mỗi chân GPIO sẽ có một số thứ tự hoặc label để phân
biệt với các chân GPIO khác trên cùng một port.

Port
PORT là nhóm các chân GPIO trên cùng một cổng hoặc nhóm chức năng. Mỗi port sẽ
chứa một số chân GPIO và cung cấp giao tiếp với các thiết bị ngoại vi hoặc môi trường
bên ngoài. Vi điều khiển sẽ cung cấp các thanh ghi hoặc bộ nhớ để điều khiển trạng thái
của các chân GPIO trên mỗi port.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 6


TỔNG QUAN

***General-purpose Input/Output (GPIO)**


chính là một chức năng ngoại vi cơ bản của các
vi điều khiển, bao gồm các chân đầu vào và
chân
đầu ra, có thể được điều khiển bởi người dùng
vào tuỳ mục đích.

Các vi điều khiển 32bit, có nhiều port, mỗi port


có thể có đến 16 chân IO trên 1 port. Cụ thể đối
với chip STM32F103C8T6 sẽ gồm tổng cộng 35
PIN
***************************************

35 pin được chia làm 3 port :


- GPIOA (viết tắt PA) : từ PA0 đến PA15 ,
- GPIOB (viết tắt PB) : từ PB0 đến PB15 ,
- GPIOC (viết tắt PC) : từ PC13 đến PC15 ,
04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 7
Chức năng
CHỨC NĂNG CHÍNH

 Nhập xuất dữ liệu


 Input
 Output
 Giao tiếp với thiết bị ngoại vi
 ADC
 SPI
 I2C
 Timer
 Uart

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 9


CHỨC NĂNG CHÍNH

Vậy điện trở kéo lên (Pull-up Register) ??


điện trở kéo xuống (Pull-down Register) là gì??

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 10


CHỨC NĂNG CHÍNH

- Ở các chân GPIO thì tín hiệu sẽ luôn là 0 hoặc 1, cho nên tại
một thời điểm thì sẽ phải luôn xác định được trạng thái của
tín hiệu, khi thả nổi ( floating ) thì sẽ không xác định được.
- Nếu chúng ta mặc định điện áp cao ( 5v ) là mức 1 giả sử
nguồn điện, điện áp thấp ( 0V ) là mức 0 giả sử là đất. Thì
không thể nào có thể nối trực tiếp vô chân GPIO được.
- Vì mạch kỹ thuật số hoạt động trong dòng điện Thấp, cho
nên nếu kết nối trực tiếp vào nguồn sẽ làm tăng lưu lượng
dòng điện (giống như ngắn mạch) hoặc có thể làm hỏng mạch
logic (do mạch logic nhạy cảm).
- Cho nên sử dụng Pull-up Register hoặc Pull-down Register
để xác định giá trị mặc định cho cổng GPIO.
04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 11
PULL-UP REGISTER

Pull-up Register : khi kết nối với chân GPIO sẽ mặc định
trạng thái của chân là giá trị 1.
- Chỉ khi nhấn nút thì trạng thái mới chuyển từ 1 sang 0.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 12


PULL-DOWN REGISTER

Pull-down Register : khi kết nối với chân GPIO sẽ mặc định
trạng thái của chân là giá trị 0.
- Chỉ khi nhấn nút, trạng thái lúc này mới thay đổi từ 0 sang 1.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 13


NHẬP

 INPUT : khi một chân được kích hoạt ở chế độ Input thì khối
Output sẽ bị chặn. Dưới đây là các cách thức input
 Input floating : chân pin sẽ được thả nổi, không có kết nối với
bất kì điện trở kéo lên/ xuống bên trong stm32. Có thể tự kết
nối thêm điện trở kéo lên/ xuống bên ngoài mạch.
 Input pull-up : ngõ vào được kết nối với điện trở kéo lên có
sẵn bên trong stm32.
 Input pull-down : ngõ vào được kết nối với điện trở kéo
xuống có sẵn bên trong stm32.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 14


XUẤT

 INPUT : tương tự như Input, khi Pin được set là output thì
khối input sẽ bị chặn. Dưới đây là các cách thức output
 Outut open-drain
 Output push-pull

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 15


GIAO TIẾP

 Các chân của GPIO còn có thể được setup để giao tiếp với
các thiết bị ngoại vi khác thông qua các chuẩn giao tiếp sau :
 Interupt ( ngắt )
 Timer ( bộ đếm giờ )
 Uart
 ADC
 SPI
 I2C

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 16


Cài đặt
CÀI ĐẶT

 Bước 1: Khởi tạo project


CubeMX, sau đó chọn
cổng nạp dữ liệu Serial
Wire, setup các thông số
như đã hướng dẫn ở bài
trước.

 Bước 2: Cài đặt chân


PA0 là chân GPIO_Input

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 18


CÀI ĐẶT

 Bước 3: Cài đặt chân PC13 là chân GPIO_Output.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 19


CÀI ĐẶT

 Bước 4: Đổi lại tên bằng cách chuột phải vào port và chọn
“Enter User Label”

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 20


CÀI ĐẶT

 Bước 5: Vào “GPIO”


đổi chức năng của
PA0 thành “pull-up”.

 Bước 6: Sau khi thực


hiện xong, nhấn Save
và Generate Code.

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 21


THẢO LUẬN
mời các bạn đặt câu hỏi?

04/04/2024 Copyrights 2020 CE-UIT. All Rights Reserved. 22

You might also like