1. Trang chủ
  2. » Địa lý

Bài giảng Lập trình hệ nhúng: Chương 3 - Phạm Văn Thuận

7 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 485,79 KB

Nội dung

Lập trình giao tiếp cổng USB 3.3.. Lập trình ghép nối ADC.[r]

(1)

Chương Lập trình vào nâng cao

3.1 Lập trình giao tiếp cổng COM theo chuẩn

RS232

(2)

RS232

§ Chuẩn đầu nối trên PC

• Chân (DCD-Data Carrier Detect): phát tín hiệu mang liệu

• Chân (RxD-Receive Data): nhận

dữ liệu

• Chân (TxD-Transmit Data):

truyền liệu

• Chân (DTR-Data Terminal • Chân (DTR-Data Terminal

Ready): đầu cuối liệu sẵn sàng

• Chân (Signal Ground): đất

tín hiệu

• Chân (DSR-Data Set Ready):

liệu sẵn sàng

• Chân (RTS-Request To Send): yêu cầu gửi

(3)

Chuẩn RS232 § Khn dạng khung truyền

• PC truyền nhận liệu qua cổng nối tiếp RS-232 thực theo kiểu không đồng (Asynchronous)

• Khung truyền gồm thành phần

ü1 Start bit (Mức logic 0): bắt đầu gói tin, đồng xung

ü1 Start bit (Mức logic 0): bắt đầu gói tin, đồng xung

nhịp clock DTE DCE

üData (5,6,7,8 bit): liệu cần truyền

ü1 parity bit (chẵn (even), lẻ (odd), mark, space): bit cho phép kiểm tra lỗi

(4)

Lập trình giao tiếp RS232

§ Khởi tạo: Khai báo thư viện

§ Bước 1: Mở cổng

§ Bước 2: Thiết lập tham số

§ Bước 3: Đọc, ghi cổng

(5)

Khai báo thư viện

§ #include <stdio.h>

§ #include <stdlib.h>

§ #include <string.h>

§ #include <unistd.h> // UNIX standard function

§ #include <fcntl.h> // File control definitions

§ #include <errno.h> // Error number definitions

§ #include <termios.h> // POSIX terminal control

(6)

Bước 1: Mở cổng

§ Sử dụng lệnh mở file

int fd = open ("/dev/ttySAC0", O_RDWR);

§ Fd >0 mở file thành công

(7)

Bước 2: Thiết lập tham số

§ Sử dụng cấu trúc termios

struct termios port_settings;

§ Thiết lập tham số (9600, 8, n, 1) cfsetispeed(&port_settings, B9600); cfsetospeed(&port_settings, B9600); cfsetospeed(&port_settings, B9600); port_settings.c_cflag &= ~PARENB; port_settings.c_cflag &= ~CSTOPB; port_settings.c_cflag &= ~CSIZE; port_settings.c_cflag |= CS8;

Ngày đăng: 10/03/2021, 14:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN