TAILIEUCHUNG - Bài giảng Lập trình hệ thống nhúng: Chương 12 - Bùi Quốc Bảo

Lập trình hệ thống nhúng, Kỹ thuật lập trình, Nguồn thông điệp LCD | ARM PROGRAMMING Bùi Qu c B o Example of a data logger BÙI QU C B O 1 Beginning of the code No RTOS Using FreeRTOS main() { Inialize(); while (1) { // no code yet } } main() { Inialize(); while (1) { // no code yet } } Add serial port functionality MAIN MENU --------1. Read A/D 2. Write GPIO outputs 3. Read GPIO inputs 4. Set LEDs 5. Write string to LCD display BÙI QU C B O 2 Add serial port functionality void ProcessSerialPort() { char s[80]; while (1) { char c = getchar(); switch c { case 1: // Read and display ADC value break; case 2: // Prompt for value and write to GPIO outputs printf(“Enter GPIO value: “); fgets(s, 80, stdin); // will block until user hits break; Add serial port functionality case 3: // Read and display GPIO input values break; case 4: // Prompt for value and write to LEDs printf(“Enter LED value: “); fgets(s, 80, stdin); // will block until user hits break; case 5: // Prompt for value and write to LCD display printf(“Enter display string: “); fgets(s, 80, stdin); // will block until user hits break; default: // print error message } } } BÙI QU C B O 3 Non-RTOS void ProcessSerialPort() { // serial port code goes here } main() { while (1) { if ( SerialCharAvail() ) ProcessSerialPort(); } } Using FreeRTOS void ProcessSerialPort(void *pvParameters ) { // serial port code goes here } void Main(void) { xTaskCreate(ProcessSerialPort, “serial Task", 1000, NULL, serialPri, NULL ); while (1) { // no code yet } } BÙI QU C B O 4 Compare Khi không dùng RTOS, trong vòng l p chính ph i có l nh ki m tra serial port. Chương trình s b “block” khi ch ngư i dùng nh p d li u t serial port. V i RTOS, ta không c n thêm code ñ ki m tra serial port. Tác v ProcessSerialPort s b block khi ch ngư i dùng nh p d li u, nhưng chương trình chính s không b block Add Keypad Functionality Keypad trong trư ng h p này là 1 ma tr n phím. Khi phím ñư c nh n, 1 ng t ñư c t o ra. Khi không dùng RTOS, 1 flag s ñư c set trong ISR. V i FreeRTOS, ISR ñư c dùng ñ .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.