OPEN DRAIN LÀ GÌ

     

GPIO là tự viết tắt của General purpose I/O ports tạm gọi là nơi tiếp xúc chung giữa biểu hiện ra và dấu hiệu vào. GPIO là bài xích cơ bản, cần nắm rõ khi học bất kì một VĐK làm sao đó. Cần hiểu được những thuật ngữ, chế độ, cấu hình, số lượng… của các chân GPIO. Ở STM32 thì các chân GPIO chia ra làm các Port vd: PortA, PortB….. Số lượng Port nhờ vào vào số lượng chân(pin) và phương pháp gọi nhờ vào vào bên sản xuất(ví dụ VĐK X gồm PortA cơ mà lại không tồn tại PortD). Từng Port thường có 16 chân đánh số từ 0 -> 15 tương ứng với mỗi chân là 1bit. Mỗi chân bao gồm 1 tính năng khác nhau như analog input, external interrupt.. Hay đối chọi thuần chỉ nên xuất biểu thị on/off ở tầm mức 0,1. Tác dụng của mỗi chân thì chúng ta cần tra datasheet trong phòng sản xuất trước lúc lập trình hoặc kiến thiết mạch.

Bạn đang xem: Open drain là gì

Các tính mode GPIO của STM32:

Input floating : cấu hình chân I/O là ngõ vào với để nổi.Input pull-up : thông số kỹ thuật chân I/O là ngõ vào, gồm trở kéo lên nguồn.Input-pull-down: cấu hình chân I/O là ngõ vào, có trở kéo xuống GND.Analog : thông số kỹ thuật chân I/O là Analog, dùng cho những mode có sử dụng ADC hoặc DAC. đầu ra open-drain: cấu hình chân I/O là ngõ ra, khi output đầu ra control = 0 thì N-MOS đang dẫn, chân I/O đã nối VSS, còn khi output control = 1 thì P-MOS với N-MOS phần đa không dẫn, chân I/O được để nổi. Output push-pull: thông số kỹ thuật chân I/O là ngõ ra, khi đầu ra control = 0 thì N-MOS vẫn dẫn, chân I/O đang nối VSS, còn khi output control = 1 thì P-MOS dẫn, chân I/O được nối VDD.
*

Alternate function push-pull : sử dụng chân I/O vừa là ngõ ra và vừa là ngõ vào, tuy vậy sẽ không tồn tại trở kéo lên và kéo xuống nghỉ ngơi input, chức năng output giống đầu ra push-pull. Trong khi nó còn để sử dụng cho tác dụng remap. Alternate function push-pull : : áp dụng chân I/O vừa là ngõ ra với vừa là ngõ vào, tuy vậy sẽ không có trở kéo lên với kéo xuống nghỉ ngơi input, tính năng output giống output open-drain. Hình như nó còn để áp dụng cho tác dụng remap.

Để xem thông số kỹ thuật chức năng ra làm sao cho chân I/O lấy một ví dụ USART là Alternate function push-pull xuất xắc là đồ vật gi khác thì cần xem phần 9.1.11 GPIO configurations for device peripherals.

Cấu hình cùng với thư viện chuẩn chỉnh của ST.

Khi xây dựng C++ với những loại vi tinh chỉnh nói riêng biệt thì bọn họ nên viết chương trình bằng cách dùng các chương trình con như vậy thì lịch trình sẽ mạch lạc hơn, dễ kiểm soát và điều hành hơn cũng như chuyên nghiệp hơn…

Thiết kế phần cứng với LED.

Có 2 cách xây đắp Led cùng với STM32 giỏi nôm na còn gọi là kích âm hoặc kích dương, khi kiến thiết cần chăm chú tránh sử dụng các chân nạp, chân quan trọng trên STM32. Dưới đó là 2 cách kiến tạo thường hay được sử dụng nhất.


*

*

*

Cấp clock cho ngoại vi là việc quan trọng đặc biệt và rất cần thiết khi xây dựng STM32. Cần nhớ là phải cấp clock trước tiên lúc cấu hình.

Hàm delay tương đối.
*

Delay tương đối có nghĩa là dựa vào thời hạn thực hiện tại 1 lệnh của CPU để triển khai delay. Vd : thời hạn thực hiện câu lệnh lệnh “while(time_n!=0)time_n--;”là 1ns, lặp lại lệnh đó 1000 lần chúng ta sẽ bao gồm được thời gian delay là 1uS- “time_n” là tham số truyền vào được nhân lên 12000.

Xem thêm: Các Bước Di Chuyển Của Giun Đất, Các Bước Di Chuyển: 1

Chương trình thưc thi trong main.

Chúng ta tất cả để thực hiện hàm GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13)=x; trong những số ấy x= 0 hoặc 1 để đọc cực hiếm nút nhận về.

Các các bạn vào view -> functions window nhằm hiển thị các hàm tất cả sẵn trong thư viện chuẩn.

Mỗi pin tất cả 2 cặp bit để thiết lập đặt. CNF ra quyết định là mode analog, floating, pull-up… còn MODE ra quyết định là input đầu vào hay output. đầu ra với vận tốc bao nhiêu.

Thanh ghi mode:

00: input mode (reset state).01: output đầu ra mode, max tốc độ 10 MHz.10: output mode, max speed 2 MHz.11: output đầu ra mode, max tốc độ 50 MHz.

Thanh ghi CNF:

Khi là input:00: Analog mode.01: Floating đầu vào (reset state).10: input with pull-up / pull-down.11: Reserved.Khi là output:00: General purpose output đầu ra push-pull.01: General purpose đầu ra Open-drain.10: Alternate function output Push-pull .11: Alternate function output Open-drain.GPIOx_IDR - Port input đầu vào data register.

Đây là thanh ghi hiểu giá trị nguồn vào của từng chân. Lúc đầu vào sinh sống chân làm sao đó tất cả mức logic là một trong thì bit tương xứng với chân đó sẽ sở hữu được giá trị là 1. Và trái lại là 0.

Xem thêm: Cưỡng Cầu Là Gì - Cưỡng Cầu Nghĩa Là Gì

GPIOx_ODR - Port đầu ra data register

Đây là thanh ghi ra quyết định mức ngắn gọn xúc tích của đầu ra trên chân STM32 khớp ứng với mode output. Quý hiếm của bit nào ở tầm mức cao thì output của nó sẽ ở tầm mức cao nếu thực hiện mode đầu ra push pull và ngược lại. Riêng rẽ mode output mở cửa drain thì bao gồm chút khác biệt.

Bài tập.Chỉ áp dụng lệnh GPIO_WriteBit nhằm chớp tắt led trên chân PB9 kết phù hợp với hàm delay tương so với giá trị delay là 1000.Sử dụng button bên trên chân PC13 để tinh chỉnh led. Dấn lần 1 led sáng, nhận lần 2 led tắt. Cứ lặp đi tái diễn như vậy.Chỉ thực hiện 1 lệnh GPIO_WriteBit nhằm chớp tắt led bên trên chân PB9 link tải công tác mẫu