Arm stm32f103c8t6 có bao nhiêu chân vào ra dữ liêu (gpio) ? *

General-purpose Input/Output [GPIO] rất phổ biến, 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. Nó tương tự với các dòng vi điều khiển 8 bit như AVR và PIC. Tuy nhiên. những dòng vi điều khiển 8bit, chỉ có 8 chân IO trên 1 port thì ở các vi điều khiển 32bit, có đến 16 chân IO trên 1 port. Cụ thể đối với chip STM32F103C8Tx gồm có 3 Port chính đó là GPIOA, GPIOB, GPIOC. Trong đó, GPIOA, GPIOB trên kit thì có đủ 16 chân GPIO, GPIOC 3 chân và GPIOD có 2 chân. 

Cấu trúc 1 chân GPIO của Vi điều khiển STM32F103C8T6: 



Có 2 khối điều khiển khác nhau [khung hình nét đứt]:

– Input

– Output và các điều khiển đầu ra khác

Chức năng của GPIO bao gồm:



1/ GPIO Input:

Sơ lược qua cấu trúc phần cứng và khối điều khiển input:



2/ Các thanh ghi dữ liệu:

Input Data Register [IDR]: Nhận mức tín hiệu tại chân IO, thông qua việc đọc thanh ghi GPIOx_IDR thì chúng ta có thể đọc được trạng thái mức “1” hay mức “0” của chân đó tại Port tương ứng.Bạn đang xem: Gpio là gì

Khi cấu hình các chân ở Port tương ứng có chức năng Input thì các thanh ghi dữ liệu Output [Output data register] sẽ tự động bị khóa lại vì chân đó đã được khai báo là Input. Lúc này, chúng ta chỉ được phép đọc dữ liệu từ thanh ghi Input Data Register để biết trạng thái của chân tại port đó chứ không được phép ghi.

Bạn đang xem: Gpio

STM32F103C8T6 là một trong những vi điều khiển tầm trung thuộc họ STM32F103x8 theo kiến ​​trúc vi mạch RISC. Bo mạch Blue Pill có chi phí thấp có thể thay thế cho các bo mạch STM khác của hãng STMicroelectronics. Giá của Blue Pill ở khoảng 2-3 $.

Bộ vi điều khiển STM32F103C8T6 có các chân GPIO, bộ xử lý, bộ nhớ, cổng USB, bộ chuyển đổi tín hiệu Analog sang tín hiệu Digital và các thiết bị ngoại vi khác. Một lõi ARM Cortex với tốc độ đáng kinh ngạc 72 MHz và hiệu suất năng lượng tương đối.

Bài viết này giới thiệu về bo mạch STM32F103C8T6 blue-pill. Tất cả các tính năng, thông số kỹ thuật, cấu hình chân, chân GPIO, thiết bị ngoại vi và các ứng dụng sẽ được đề cập.

Bo mạch STM32F103C8T6 blue-pill có lõi ARM 32-bit Cortex-M3 RISC với bộ dao động bên trong 4 -16 MHz. Nó là một chip công nghệ flash CMOS. Chip này có 37 chân GPIO và 10 chân Analog. Nó có một số giao thức giao tiếp hiện đại như CAN và USB. 

Các thiết bị ngoại vi cung cấp khả năng điều khiển vượt trội bo mạch vì nó hoạt động với điện áp rất thấp, vì vậy nó phù hợp cho các ứng dụng công suất thấp. Nó có một bộ watchdog và window watchdog timer để bo mạch vận hành chính xác các dòng lệnh.

Chi tiết cấu hình chân trong bảng được đề cập dưới đây:

Kiểu chân Tên chân Mô tả
Power – 3,3V
– 5V
– GND
1. Điện áp hoạt động đầu ra
2. Chân cấp nguồn ở cổng USB hoặc nguồn 5V bên ngoài
3. Chân nối đất
Chân Analog PA0-PA7, PB0-PB1 Chân ADC độ phân giải 10, 12-bit
Chân I / O PA0-PA15, PB0-PB15, PC13-PC15 37 chân I / O đa chức năng
Ngắt ngoài PA0-PA15, PB0-PB15, PC13-PC15 Chân ngắt
PWM PA0-PA3, PA6-PA10, PB0-PB1, PB6-PB9 15 chân điều chế độ rộng xung
Giao tiếp dữ liệu nối tiếp [ UART ] TX1, RX1, TX2, RX2, TX3, RX3 Chân RTS, CTS USART
SPI MISO0, MOSI0, SCK0, MISO1, MOSI1, SCK1, CS0 2 chân SPI
CAN CAN0TX, CAN0RX Chân Bus của mạng CAN
I2C SCL1, SCL2, SDA1, SD2 Chân dữ liệu I2C và chân xung nhịp
Đèn LED tích hợp PC13 Đèn LED chỉ thị

Ngắt ngoài: Ngắt phần cứng được thực thi khi phát hiện sự thay đổi của các tín hiệu bên ngoài.

PWM: Tổng cộng 15 chân điều chế độ rộng xung để tạo tín hiệu điện áp tương tự analog từ các đầu ra PWM digital.

RTS / CTS: Request-to-Send / Clear-to-Send là một giao thức đảm bảo kiểm soát việc truyền và nhận dữ liệu.

SPI : giao thức để giao tiếp giữa bộ vi điều khiển và thiết bị ngoại vi.

CAN: đường bus truyền dữ liệu theo hai hướng.

I2C : Một giao thức truyền dữ liệu nối tiếp khác để truyền dữ liệu đồng bộ.

Đặc tính và thiết bị ngoại vi khả dụng
Kiến ​​trúc vi mạch RISC
Số lượng chân 47
SRAM 20 kiloBytes
Debug đường truyền dữ liệu nối tiếp 1
Bộ nhớ flash 64/128 KiloBytes
Tốc độ CPU 72 MHz [tối đa]
Cổng kết nối USB Micro
ADC 2
Số bộ hẹn giờ 7
Giao tiếp truyền thông 9
Module USB
I2C 2
SPI 2
Nhiệt độ hoạt động -40 0 C – 105 0 C
Dòng điện sink/source 6 mA
Điện áp hoạt động 2.0V – 3.6V
Module USART 3
Bộ tạo dao động bên trong 4-16 MHz
Bộ hẹn giờ watchdog [WWDT]
Debug JTAG 1
  • Kiểm tra theo chu kỳ [CRC] để đảm bảo độ chính xác của dữ liệu dữ liệu
  • Có ba tùy chọn boot khác nhau [thông qua flash hoặc bộ nhớ hệ thống hoặc SRAM] để reset bộ nhớ flash qua USART1
  • 7 bộ timer khác nhau để có các tốc độ lấy mẫu giá trị analog khác nhau
  • Một giao thức nối tiếp JTAG [Joint Test Action Group] để gỡ lỗi và kiểm tra bộ vi điều khiển
  • Xung nhịp PLL để tạo sự ổn định bằng cách xử lý tín hiệu đầu ra và đầu vào.
  • Bộ timer Watchdog để quan sát các lỗi trong quá trình nhận và truyền tín hiệu

Hình ảnh sau đây là sơ đồ mạch tham khảo. Trong trường hợp Blue Pill của bạn bị hỏng, bạn có thể tham khảo sơ đồ này để thay thế các thành phần bị lỗi:

Có hai cách để lập trình bo mạch STM32F103C8T6:

  • STLink USBDongle
  • Bộ chuyển đổi giao thức nối tiếp hoặc USB bên ngoài

Có nhiều sự lựa chọn trình biên dịch và IDE để viết chương trình và code flash vào STM32F10C8T6 Blue Pill. Nhưng đây là hai trình biên dịch phổ biến và dễ sử dụng nhất.

Các phần mềm như Kiel / CubeMX và phần mềm của STLink cũng được sử dụng để biên dịch và tải chương trình. Điều này được thực hiện thông qua một giao diện gỡ lỗi đường truyền được thiết kế cho các lõi ARM để truyền và truy cập bộ nhớ. Bạn có thể tham khảo các hướng dẫn bắt đầu lập trình với Keil vision:

  • Cách tải và cài đặt Keil uVision cho ARM
  • Bắt đầu sử dụng Keil uVision: Viết chương trình đầu tiên 

MCU này tương thích với phần mềm Arduino . Nó có thể được lập trình bằng thư viện của Arduino. Arduino sử dụng hai thư viện là avr-g ++ và arm-none-eabi-g ++. Code có thể được ghi lên MCU bằng cách sử dụng các chân UART1 thông qua USB bên ngoài.

Để lập trình STM32F10C8T6 thông qua phần mềm Arduino, người ta phải chọn bo mạch cần thiết từ menu bo mạch do phần mềm cung cấp. Sau đó tải các tập tin phù hợp để board lập trình hiệu quả. Các code mẫu của Arduino, chẳng hạn như Blink có thể được tải lên MCU vì bo mạch cũng có đèn LED tích hợp. Xem các hướng dẫn bắt đầu lập trình Arduino IDE:

  • Bắt đầu lập trình vớiArduino IDE 
  • Robot
  • Trong hệ thống y tế
  • Hệ thống tự động hóa trong nhà
  • Hệ thống nhúng chi phí thấp
  • Thiết bị tiêu dùng
  • Hệ thống GPS
  • Ứng dụng công nghiệp

STM32F103C8T6 có hai package, là LQFP48, UFQFPN48. Hình sau đây là mô hình 2d của UFQFPN48. Nó cho chúng ta thấy kích thước vật lý của các thành phần cần thiết khi thiết kế mạch PCB.

>>> Mời anh em xem thêm:

Video liên quan

Chủ Đề