STM32F103

STM32F103 – GPIO (Phần 2)

Chào các bạn,

Hôm nay mình sẽ hướng dẫn các bạn lập trình điều khiển GPIO trong vi điều khiển STM32F103.

Trong dự án này mình sử dụng IDE coocox để lập trình, đây là một IDE mã nguồn mở và tất nhiên là miễn phí rồi. ưu điêm của nó so với kielC là dễ sử dụng và không tốn thêm một chi phí nào cả.

Link để các bạn tải:

 

Nào chúng ta bắt đầu thôi:

Sơ lượt về GPIO trong STM32F103

Trong STM32F103 tùy các dòng vi điều khiển ST do nhà  sản xuất  mà số lượng GPIO nhiều hay ít, tuy nhiên đặc điểm chung mỗi PORT là 16 chân.

Mỗi chân trong vi điều khiển điều có thể cấu hình là GPIO, một chức năng như I2C , UART hoặc có thể một ngắt ngoài.

Một trong những tính nay hay của dòng này có thể cấu hình điện trở kéo lên hoạt xuống tong chế độ input của gpio và để hở ngỏ ra trong chế độ ouput

Trong STM ta có thể cấu hình ngỏ ra hoặc ngỏ vào cho GPIO:

với GPIO ở chế độ ngỏ ra ta chọn:

GPIO_Mode_Out_PP: thường dùng
GPIO_Mode_Out_OD: để hở

và ngỏ vào sẽ là:

GPIO_Mode_IN_FLOATING: thả nổi
GPIO_Mode_IPD: kéo xuống
GPIO_Mode_IPU: kéo lên

Cấu hình

Ví dụ cấu hình chân GPIO B3 là ngỏ ra:

Khởi tạo biến cấu trúc cho GPIO:

GPIO_InitTypeDef GPIO_InitStructure;

Cấp clock cho GPIO: cấu xác định chân io thuộc RCC nào và chọn đúng

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

Cấu hình vị trí chân, chọn clock và chế độ:

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);

Như vậy là đã cấu hình thành công một GPIO là ngỏ ra trong STM32F103, bây giờ muốn xuất ra mức cao chúng ta sẽ làm như sau:

GPIO_SetBits(GPIOB, GPIO_Pin_3);

và ngỏ ra mức thấp sẽ là:

GPIO_ResetBits(GPIOB, GPIO_Pin_3);

Dự án mẫu

Nhấp nháy led với stm32f103 (chi tiết kết nối chân trong project):

http://megaurl.in/NdNRBs8

Button và led với stm32f103 (chi tiết kết nối chân trong project):

http://megaurl.in/U7bLrW

 

 

 

Một suy nghĩ 2 thoughts on “STM32F103 – GPIO (Phần 2)”

  1. Chào bạn, cho mình hỏi sao bài viết hướng dẫn về STM32F103 thì ở phía dưới lại là: “Như vậy là đã cấu hình thành công một GPIO là ngỏ ra trong STM32F4…” ?

    Thích

Bình luận về bài viết này