1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đề thi cuối kỳ LẬP TRÌNH NHÚNG

2 160 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 2
Dung lượng 32,66 KB

Nội dung

ĐỀ THI CUỐI KỲ - HK2 NĂM HỌC 2016/2017 MÔN THI: LẬP TRÌNH NHÚNG TG: 90 PHÚT (SV khơng làm đề thi) Câu 1) (2 đ) Viết hàm revbits nhận vào tham số kiểu char trả kết kiểu char có giá trị đảo vị trí bit tham số Giải thích: Tham số có giá trị nhị phân b b6 b5 b4 b3 b2 b1 b0 kết b0 b1 b2 b3 b4 b5 b6 b7 Hướng dẫn: Sử dụng phép toán dịch bit, AND, OR Câu 2) (2đ) a) Viết hàm void initPortA(void) khởi động PORTA với PA3 input, PA7 output sử dụng thư viện TIVAware b) Viết hàm void updateOutput(void) xuất giá trị đảo PA3 PA7 Ví dụ PA3 1100 PA7 0011 Câu 3) (2đ) Cho hàm void Task1(void), void Task2(void), void Task3(void) Ba hàm có timing sau: Task chạy sau 40 ms Task chạy sau 50 ms Task chạy sau 60 ms a) Viết hàm void initSystick(void) khởi động Systick Timer với chu kỳ ms b) Viết chương trình thực tác vụ với timing đặt SystickTimer câu a (Chỉ viết chương trình phục vụ ngắt Systick vòng lặp chính, đồng thời khai báo biến toàn cục cần thiết) //Khai báo biến cần thiết void SystickISRHandler() { //write the code here } int main(void) { while(1) { //write the code here }} Câu 4: (2đ) Vi điều khiển ARM TIVA123C muốn truyền liệu sử dụng mã hóa Manchester Một tín hiệu Clock đưa vào chân PA0, tín hiệu mã hóa xuất PA1 Mã hóa manchester thực thi cách: Clock XOR Data = Manchester Output Viết hàm Manchester(unsigned char Data) để mã hóa xuất liệu mã hóa PA1, bit truyền bit có trọng số cao Để truyền bit, q trình sau: • • • • Chờ cho clock lên Đưa giá trị Data XOR Clock PA1 Chờ cho Clock xuống Đưa giá trị Data XOR CLock PA1 Lặp lại trình cho bit để truyền byte Data Chú ý: Coi chân port khởi động Sử dụng hàm thư viện TivaWare để đọc/ghi port Câu 5) (2đ) Cho khai báo sau chương trình dùng FreeRTOS xQueueHandle myQueue // our queue message_t MyMessage; // variable for a message (not a pointer!) portBASE_TYPE Result; // result of the operation portBASE_TYPE pxHigherPriorityTaskWoken ; a) Viết lệnh khởi tạo myQueue chứa phần tử, phần tử có kiểu message_t b) Viết lệnh ghi nội dung biến MyMessage vào Myqueue tác vụ (khơng phải trình phục vụ ngắt), thời gian chờ 1000 lần ngắt Systick c) Viết lệnh đọc giá trị từ Myqueue vào biến MyMessage ISR d) Trong ISR ta gọi lệnh xSemaphoreGiveFromISR( xCountingSemaphore, &xHigherPriorityTaskWoken ); Khi biến xHigherPriorityTaskWoken mang giá trị TRUE? ... manchester thực thi cách: Clock XOR Data = Manchester Output Viết hàm Manchester(unsigned char Data) để mã hóa xuất liệu mã hóa PA1, bit truyền bit có trọng số cao Để truyền bit, trình sau: • •... XOR CLock PA1 Lặp lại trình cho bit để truyền byte Data Chú ý: Coi chân port khởi động Sử dụng hàm thư viện TivaWare để đọc/ghi port Câu 5) (2đ) Cho khai báo sau chương trình dùng FreeRTOS xQueueHandle... phần tử có kiểu message_t b) Viết lệnh ghi nội dung biến MyMessage vào Myqueue tác vụ (khơng phải trình phục vụ ngắt), thời gian chờ 1000 lần ngắt Systick c) Viết lệnh đọc giá trị từ Myqueue vào

Ngày đăng: 29/10/2019, 13:23

TỪ KHÓA LIÊN QUAN

w