UART2, UART3, UART4, IO, Ngắt UART1. Khai báo các biến toàn cục: data_done_frame=false data_receiver[100],...
Kiểm tra có ngắt nhận từ
UART3 hay không?
Task1 : Call Node1
Truyền UART3 chuỗi kí tự: " # node1 * " Chờ tối đa 3 giây > time out Lưu dữ liệu nhận được từ Node vào biến data_receiver[] Trong 3 giây liên tục kiểm tra biến “data_done_frame = true” thì nhận được dữ liệu hoàn chỉnh Khởi tạo kết nối: từ Node gửi về. Wifi : NodeMCU với sever; In dữ liệu nhận được ra UART2. UART4 : NodeMCU với F4; Khai báo biến : data_stm32[100] data_receiver[100] Task2: gửi lên NodeMCU Truyền dữ liệu theo frame: "S <T1>%s</T1> <H1>%s</H1> <T2>%s</T2> <H2>%s</H2> E“ đến NodeMCU qua cổng UART4. 20 giây gửi 1 lần. Hàm uart_receiver_handle sẽ kiểm tra cổng EspSerial.read() có nhận được kí tự ‘S’ không?
Task1 : Call Node2
Truyền UART3 chuỗi kí tự: " # node2 * " Chờ tối đa 3 giây > time out Có. Không.
Trong 3 giây liên tục kiểm tra
biến “data_done_frame = true” Bắt đầu nhận data đến khi gặp thì nhận được dữ liệu hoàn chỉnh kí tự ‘E’. Lưu data nhận được từ Node gửi về. vào data_receiver[100] In dữ liệu nhận được ra UART2.
Copy data từ data_receiver[] vào
Task2: gửi lên NodeMCU biến data_stm32[]. Truyền dữ liệu theo frame: Để hiển thị kết quả lên cổng Serial "S <T1>%s</T1> <H1>%s</H1> và tách lấy dữ liệu gửi lên Sever <T2>%s</T2> <H2>%s</H2> E“ tương ứng với từng Node. đến NodeMCU qua cổng UART4. 20 giây gửi 1 lần.