Điều Khiển Đèn LED Trên STM32 Thông Qua Giao Tiếp UART Và Phân Tích Lệnh
Trong các hệ thống nhúng, việc sử dụng cổng nối tiếp (UART) để nhận lệnh điều khiển từ máy tính hoặc thiết bị ngoại vi là một kỹ thuật phổ biến. Bài viết này trình bày cách xây dựng một module nhận lệnh qua UART trên vi điều khiển STM32, phân tích cú pháp chuỗi ký tự và thực thi thao tác bật/tắt đèn LED tương ứng.
1. Định Nghĩa Cấu Hình Và Bộ ...
Đăng vào ngày 2 tháng 10 lúc 06:04
Đồng hồ định thời cơ bản TIM trên STM32F1
Phân loại đồng h định thời
Dòng STM32F1 tích hợp tổng cộng 8 bộ định thời, được phân thành ba nhóm chính:
LoạiBộ định thờiĐặc điểm
Cơ bảnTIM6, TIM716 bit, chỉ đếm tăng, không có chân GPIO ngoài
Đa năngTIM2, TIM3, TIM4, TIM516 bit, đếm tăng/giảm, có 4 chân GPIO, hỗ trợ đầu ra so sánh và đầu vào bắt
Cao cấpTIM1, TIM816 bit, đếm tăng/giảm, 8 ch ...
Đăng vào ngày 29 tháng 9 lúc 06:02
Thao tác với trạng thái GPIO trên hệ thống Linux
Định cấu hình và điều khiển GPIO
Để điều khiển một chân GPIO cụ thể, bạn cần xuất nó vào không gian người dùng, đặt hướng và sau đó đặt giá trị trạng thái.
# Xuất chân GPIO ra không gian người dùng
echo [số_gpio] > /sys/class/gpio/export
# Thiết lập chế độ đầu ra
echo out > /sys/class/gpio/gpio[số_gpio]/direction
# Thiết lập trạng thái mức ca ...
Đăng vào ngày 30 tháng 8 lúc 12:31
Thí nghiệm nhấp nháy LED trên STM32 sử dụng GPIO
1. Chuẩn bị phần cứng:
1 bo mạch STM32F103C8T6 tối thiểu
1 bộ ghi ST-LINK V2
Tuỳ chọn dây nối DuPont
LED tích hợp - chân GPIOC13
2. Hàm delay (Delay.h)
Xem mã nguồn
#ifndef _DELAY_H_
#define _DELAY_H_
#include "stm32f10x.h" // Device header
void delayMicroseconds(uint32_t us);
void delayMilliseconds(uint32_t ms);
void de ...
Đăng vào ngày 19 tháng 7 lúc 10:56
Hướng dẫn Phát triển GPIO và Pinctrl trên Linux
Tổng quan
Tài liệu này cung cấp hướng dẫn chi tiết về cách sử dụng các giao diện GPIO (General Purpose Input/Output) và Pinctrl (Pin Controller) trong nhân Linux. Người đọc sẽ nắm vững các phương pháp lập trình để cấu hình, yêu cầu và quản lý các chân GPIO.
Phạm vi áp dụng
Phiên bản Kernel
Tệp trình điều khiển
Linux-4.9 trở lên
pinctrl- ...
Đăng vào ngày 18 tháng 7 lúc 15:15
Phát triển ngoại vi MCU từ nguyên lý đến thực thi thực tế
Trong phát triển nhúng, các ngoại vi cốt lõi của MCU đóng vai trò cầu nối giữa phần cứng và phần mềm. Dù là điều khiển động cơ trong hệ thống công nghiệp hay giao tiếp cảm biến trên thiết bị IoT, đều phụ thuộc vào việc lập trình sâu cho các module như GPIO, UART, I2C. Bài viết này tổng hợp kinh nghiệm thực tế từ nền tảng STM32 (lõi Cortex-M) v ...
Đăng vào ngày 16 tháng 7 lúc 05:33
Sử dụng các hàm GPIO trong Linux Kernel
Tham khảo: https://lwn.net/Articles/532714/
Trong kernel Linux, mỗi GPIO trong hệ thống được biểu diễn bằng một số nguyên không dấu đơn giản. Thông thường, một bo mạch có hàng trăm chân GPIO.
GPIO phải được phân bổ trước khi sử dụng, mặc dù hiện tại việc này không được thực thi bắt buộc. Hàm phân bổ cơ bản là:
int phan_bo_gpio(unsigned int ...
Đăng vào ngày 13 tháng 7 lúc 06:20
Phát triển Driver Phần cứng với Python
Phát triển Driver Phần cứng với Python
Giới thiệu
Trong bối cảnh hệ thống nhúng và IoT phát triển mạnh mẽ như hiện nay, vai trò của các driver phần cứng ngày càng trở nên quan trọng. Truyền thống, việc phát triển driver phần cứng thường được thực hiện bằng ngôn ngữ C, tuy nhiên với sự phổ biến của Python, ngày càng nhiều lập trình viên bắt đầu ...
Đăng vào ngày 5 tháng 7 lúc 01:37
GPIO STM32 - Các Chế Độ Xuất/Nhập và Thực Hành LED/Button
I. Bốn Chế Độ Xuất GPIO
GPIO (General-Purpose Input/Output) có 8 chế độ hoạt động, trong đó có 4 chế độ xuất và 4 chế độ nhập.
Chế độ xuất cho phép điều khiển mức điện áp trên chân (cao/thấp) bằng cách ghi giá trị 0 hoặc 1.
Chế độ nhập cho phép đọc trạng thái điện áp đầu vào của chân.
Xuất thường (General Purpose Output): Điều khiển bởi CPU. ...
Đăng vào ngày 21 tháng 6 lúc 10:08
Hệ thống con pinctrl và gpio
1. Hệ thống con pinctrl
1.1 Hệ thống con pinctrl là gì?
Trước hết, hãy xem lại cách khởi tạo GPIO dùng cho LED:
① Sửa đổi device tree, thêm node tương ứng, trong đó trọng tâm là đặt thuộc tính reg, reg bao gồm các thanh ghi liên quan đến GPIO.
② Lấy địa chỉ của các thanh ghi GPIOI_MODER, GPIOI_OTYPER, GPIOI_OSPEEDR, GPIOI_PUPDR và GPIOI_BSRR từ ...
Đăng vào ngày 18 tháng 6 lúc 03:44