Câu hỏi: MIP201 Microcontroller Programming – Bộ ôn tập cuối kỳ số 2
50 câu trắc nghiệm kèm lời giải của môn Microcontroller Programming, xếp đúng thứ tự trong đề. Trang 2/3 — câu 21–40.
Danh sách câu hỏi
40/50 câuCòn 10
21What integer value does the DigitalIn Interface return when it detects Zero Volts on the input pin?5 lựa chọnDễ88% trả lời đúng
A1024
B3.3
C0
D1
E256
Lời giải
Mở trang câu hỏi này →Khi sử dụng DigitalIn Interface để đọc giá trị từ một chân vào, nó sẽ trả về một giá trị integer. Giá trị này phụ thuộc vào mức điện áp trên chân vào. Nếu mức điện áp trên chân vào là 0V, DigitalIn Interface sẽ trả về giá trị 0. Điều này là vì DigitalIn Interface thường sử dụng mức điện áp 3.3V hoặc 5V làm mức điện áp tham chiếu. Khi mức điện áp trên chân vào bằng 0V, nó sẽ được coi là mức điện áp thấp, và DigitalIn Interface sẽ trả về giá trị 0. Điều này giúp người lập trình viên dễ dàng xác định trạng thái của chân vào.
22The Mbed API provides libraries for what types of conversion?5 lựa chọnDễ100% trả lời đúng
AOnly DAC
BOnly Multiplexer
COnly ADC
DOnly Sample-and-hold
EBoth ADC and DAC
Lời giải
Mở trang câu hỏi này →Mbed API cung cấp các thư viện cho các loại chuyển đổi khác nhau. Trong đó, ADC (Analog-to-Digital Converter) là thiết bị chuyển đổi tín hiệu analog thành tín hiệu số, còn DAC (Digital-to-Analog Converter) là thiết bị chuyển đổi tín hiệu số thành tín hiệu analog. Mbed API hỗ trợ cả hai loại thiết bị này, giúp người dùng dễ dàng thực hiện các phép chuyển đổi tín hiệu trong các ứng dụng điện tử.
23What is another name for a fully integrated executable program in embedded systems?4 lựa chọnDễ71% trả lời đúng
ALibrary file
BSource file
CObject file
DProgram image
Lời giải
Mở trang câu hỏi này →Trong hệ thống tích hợp, một chương trình thực thi đầy đủ được gọi là chương trình hình ảnh. Chương trình hình ảnh là một tập tin thực thi độc lập, bao gồm cả mã nguồn và dữ liệu cần thiết để chạy chương trình. Nó được tạo ra sau khi quá trình biên dịch và liên kết hoàn tất. Chương trình hình ảnh có thể được lưu trữ trong bộ nhớ RAM hoặc trên bộ nhớ ngoài, và nó được thực thi trực tiếp bởi CPU mà không cần phải biên dịch hoặc liên kết thêm.
24If a thread is waiting for an event to occur, which state is it in according to the Mbed API?5 lựa chọn
AWaiting
BRunning
CReady
DInactive
ETerminated
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Waiting". Trong mô hình trạng thái luồng của Mbed, một luồng bị treo vì đang chờ tín hiệu, cờ sự kiện, semaphore, mutex hay chờ hết khoảng trễ thì được đưa ra khỏi hàng đợi sẵn sàng và xếp vào trạng thái chờ, cho tới khi điều kiện được thoả mới quay lại tranh lượt chạy. "Running" sai vì đó là luồng đang thật sự chiếm lõi xử lý, mà tại một thời điểm chỉ có một luồng như vậy. "Ready" sai vì luồng ở trạng thái này không chờ điều kiện nào cả, nó đã đủ điều kiện chạy và chỉ đợi bộ điều phối cấp lượt. "Inactive" sai vì nó mô tả luồng chưa được khởi tạo hoặc đã bị thu hồi tài nguyên, tức chưa từng vào vòng điều phối. "Terminated" sai vì đó là luồng đã chạy hết hàm thân và không bao giờ quay lại nữa, trong khi luồng đang chờ sự kiện vẫn sẽ chạy tiếp khi sự kiện tới.
25What is the primary function of the DigitalIn interface in the Mbed API?5 lựa chọnDễ75% trả lời đúng
ATo set the pin to an analog level
BTo configure and control a digital output pin
CTo read the value of a digital input pin
DTo generate PWM signals
ETo connect multiple output pins
Lời giải
Mở trang câu hỏi này →Mô tả về DigitalIn interface trong Mbed API. DigitalIn interface là một phần của Mbed API, được sử dụng để đọc giá trị của một cổng vào số (digital input pin). Nó cho phép bạn đọc giá trị logic của một cổng vào, có thể là 0 hoặc 1. Điều này rất hữu ích khi bạn cần đọc giá trị của một cảm biến hoặc một nút bấm. Để sử dụng DigitalIn interface, bạn cần tạo một đối tượng DigitalIn và gọi phương thức read() để đọc giá trị của cổng vào. Phương thức này sẽ trả về giá trị logic của cổng vào, có thể là 0 hoặc 1. Tóm lại, DigitalIn interface là một công cụ quan trọng trong Mbed API, giúp bạn đọc giá trị của cổng vào số và thực hiện các tác vụ liên quan.
26What is the main difference between a hardware timer and a software timer?4 lựa chọnDễ100% trả lời đúng
ASoftware timers are implemented in software and usually have lower precision
BHardware timers are implemented using external circuits only
CSoftware timers have higher precision
DHardware timers cannot generate interrupts
Lời giải
Mở trang câu hỏi này →Thời gian phần cứng và phần mềm là hai khái niệm cơ bản trong lập trình. Thời gian phần cứng được thực hiện bằng cách sử dụng các mạch điện ngoài và thường có độ chính xác cao hơn. Ngược lại, thời gian phần mềm được thực hiện trong phần mềm và thường có độ chính xác thấp hơn. Điều này là vì phần mềm có thể bị ảnh hưởng bởi các yếu tố như tải hệ thống, hiệu suất CPU và các vấn đề khác. Vì vậy, thời gian phần mềm thường không ổn định và có thể không chính xác. Thời gian phần cứng, mặt khác, được thiết kế để hoạt động độc lập và có thể cung cấp độ chính xác cao hơn. Tuy nhiên, thời gian phần cứng cũng có thể có một số hạn chế, chẳng hạn như chi phí cao và phức tạp trong việc thiết kế và triển khai.
27Which of the following best describes the meaning of logic '0' in a digital system?4 lựa chọnDễ100% trả lời đúng
AAlternating signal
BHigh voltage level
CGround or 0V
DPositive voltage supply
Lời giải
Mở trang câu hỏi này →Logic '0' trong hệ thống số kỹ thuật là một trạng thái điện tử đặc trưng cho mức điện áp thấp. Trong hầu hết các hệ thống số, logic '0' được định nghĩa là mức điện áp gần như bằng 0V, thường được gọi là mức đất (ground). Điều này có nghĩa là khi một tín hiệu logic ở mức '0', nó sẽ được coi là một tín hiệu thấp, thường được biểu diễn bằng điện áp gần như bằng 0V. Logic '0' được sử dụng để biểu diễn các giá trị 'sai' hoặc 'không đúng' trong các hệ thống số.
28How many threads can be in the Running state at the same time in the Mbed API?5 lựa chọnTrung bình67% trả lời đúng
AThreads equal to the priority level
BThreads equal to the number of peripherals.
COnly one thread at a time
DOnly two threads.
EUnlimited number of threads
Lời giải
Mở trang câu hỏi này →Trong API Mbed, số lượng luồng (thread) có thể ở trạng thái Running (chạy) cùng một lúc phụ thuộc vào cách thiết kế và quản lý của chương trình. Tuy nhiên, theo thông tin được cung cấp, có thể hiểu rằng chỉ có một luồng duy nhất có thể ở trạng thái Running tại bất kỳ thời điểm nào. Điều này có thể là do các yếu tố như quản lý nguồn lực, tránh xung đột và đảm bảo tính ổn định của hệ thống. Trong thực tế, số lượng luồng Running có thể thay đổi tùy thuộc vào yêu cầu và thiết kế cụ thể của chương trình.
29Which Mbed API class is used to control a digital output pin?4 lựa chọnDễ83% trả lời đúng
A
BusInB
DigitalOutC
AnalogOutD
DigitalInLời giải
Mở trang câu hỏi này →Để kiểm soát một cổng đầu ra số (digital output pin), bạn cần sử dụng lớp Mbed API phù hợp. Trong các lựa chọn đã cho, lớp DigitalOut là lớp được sử dụng để kiểm soát các cổng đầu ra số. Lớp này cho phép bạn thiết lập giá trị logic cao (HIGH) hoặc thấp (LOW) cho các cổng đầu ra số, điều này rất hữu ích trong việc điều khiển các thiết bị điện tử như đèn LED, động cơ, v.v. Ngoài ra, lớp DigitalOut cũng cung cấp các phương thức để đọc và viết giá trị cho các cổng đầu ra số, giúp bạn có thể dễ dàng kiểm soát và điều khiển các thiết bị điện tử.
30Real-Time Operating Systems (RTOS) are multitasking OSs targeted at what type of applications?5 lựa chọnDễ100% trả lời đúng
AOffline batch processing jobs
BGeneral-purpose desktop applications
CReal-time applications, with real-time constraints
DSingle-threaded legacy programs
EApplication designed for high throughput only
Lời giải
Mở trang câu hỏi này →Hệ điều hành thời gian thực (RTOS) là hệ điều hành đa nhiệm được thiết kế cho các ứng dụng có yêu cầu thời gian thực. Các ứng dụng này đòi hỏi phải xử lý và phản hồi nhanh chóng, thường liên quan đến hệ thống điều khiển tự động, thiết bị y tế, thiết bị điện tử tiêu dùng và các ứng dụng khác yêu cầu độ tin cậy và hiệu suất cao. Ví dụ, một hệ thống điều khiển tự động cần phải xử lý thông tin từ cảm biến và đưa ra quyết định trong thời gian thực để đảm bảo an toàn và hiệu suất. Hệ điều hành thời gian thực được thiết kế để đáp ứng các yêu cầu này bằng cách đảm bảo rằng các tác vụ được thực hiện đúng hạn và không bị gián đoạn.
31What is the function of the Program Counter (PC) register?4 lựa chọnDễ100% trả lời đúng
AStores the address of the current instruction
BStores stack frame data
CStores interrupt priority levels
DStores temporary arithmetic data
Lời giải
Mở trang câu hỏi này →Bộ đếm chương trình (Program Counter, PC) là một trong những bộ đệm quan trọng trong hệ thống máy tính. Nó có chức năng lưu trữ địa chỉ của lệnh hiện tại đang được thực thi. Khi máy tính thực hiện một lệnh, bộ đếm chương trình sẽ tăng lên địa chỉ của lệnh tiếp theo trong bộ nhớ. Điều này cho phép máy tính thực hiện các lệnh theo thứ tự và đảm bảo rằng các lệnh được thực thi một cách chính xác. Bộ đếm chương trình đóng vai trò quan trọng trong việc quản lý luồng thực thi của máy tính và giúp máy tính thực hiện các lệnh một cách hiệu quả.
32What technique allows digital signals to simulate analog output by varying the ratio of ON and OFF time?4 lựa chọnDễ100% trả lời đúng
AFrequency division
BPulse Width Modulation (PWM)
CInterrupt scheduling
DAnalog modulation
Lời giải
Mở trang câu hỏi này →Kỹ thuật nào cho phép tín hiệu số mô phỏng đầu ra tương tự bằng cách thay đổi tỷ lệ thời gian ON và OFF?
33Which protocol relies on Start bits and Stop bits to 'frame' the data and synchronize transmission without a constant clock signal?5 lựa chọnDễ80% trả lời đúng
ASPI
BUART
CPCI Express
DEthernet
EI2C
Lời giải
Mở trang câu hỏi này →Tìm hiểu về các giao thức truyền thông. Giao thức nào sử dụng các bit bắt đầu và dừng để 'lập khung' dữ liệu và đồng bộ truyền tải mà không cần tín hiệu đồng hồ liên tục?
34Why are analog-to-digital converters (ADC) necessary in embedded systems?4 lựa chọnDễ100% trả lời đúng
ABecause processors can only process analog signals
BBecause processors operate with digital signals while real-world signals are often analog
CBecause analog signals are faster than digital signals
DBecause ADC increases memory capacity
Lời giải
Mở trang câu hỏi này →ADCs (Analog-to-Digital Converters) là một phần quan trọng trong các hệ thống tích hợp (embedded systems). Lý do chính là vì các tín hiệu trong thế giới thực thường là tín hiệu analog, trong khi các bộ xử lý (processors) chỉ có thể xử lý tín hiệu số (digital). Vì vậy, ADCs cần được sử dụng để chuyển đổi tín hiệu analog thành tín hiệu số, giúp bộ xử lý có thể hiểu và xử lý tín hiệu một cách chính xác. Điều này đặc biệt quan trọng trong các hệ thống cần đo lường và xử lý tín hiệu từ các thiết bị cảm biến, chẳng hạn như nhiệt độ, áp suất, độ ẩm, v.v. ADCs giúp đảm bảo rằng tín hiệu được chuyển đổi chính xác và có thể được xử lý bởi bộ xử lý mà không bị mất thông tin.
35What is the name of the Integrated Development Environment (IDE) specifically for Mbed OS 5 applications that automatically detects connected Mbed enabled boards?5 lựa chọnDễ75% trả lời đúng
AVS Code
BMbed CLI
CKeil uVision
DEclipse
EMbed Studio
Lời giải
Mở trang câu hỏi này →Mbed Studio là một môi trường phát triển tích hợp (IDE) được thiết kế riêng cho ứng dụng Mbed OS 5. Nó có khả năng tự động phát hiện các bảng Mbed được hỗ trợ. Mbed Studio cung cấp một giao diện người dùng thân thiện và dễ sử dụng, giúp các nhà phát triển dễ dàng tạo, chạy và quản lý các ứng dụng Mbed. Ngoài ra, nó cũng hỗ trợ các tính năng như biên dịch, tải lên và chạy ứng dụng trên các bảng Mbed. Mbed Studio là lựa chọn hàng đầu cho các nhà phát triển muốn tạo và chạy các ứng dụng Mbed OS 5 một cách hiệu quả.
36What is the function of the B2 push-button on the STM32 Nucleo-F411RE board?5 lựa chọnDễ80% trả lời đúng
APower ON/OFF
BFirmware upgrade initiation
CButton name: RESET
DButton name: Boot selection
EButton name: USER
Lời giải
Mở trang câu hỏi này →B2 push-button trên bo mạch STM32 Nucleo-F411RE có chức năng là nút Reset. Nút này được sử dụng để khởi động lại hệ thống hoặc tải lại chương trình firmware. Khi nhấn nút Reset, hệ thống sẽ được khởi động lại từ đầu, giúp bạn có thể thử nghiệm lại chương trình hoặc tải lại chương trình mới. Ngoài ra, nút Reset cũng có thể được sử dụng để tải lại chương trình firmware khi bạn cần cập nhật chương trình mới cho bo mạch.
37What is the primary characteristic of serial communication?5 lựa chọnDễ83% trả lời đúng
ATransmits multiple bits simultaneously
BAlways requires a dedicated clock signal
COnly used for short-haul communication
DTransmits data one bit at a time, sequentially
ERequires many wires and large connectors
Lời giải
Mở trang câu hỏi này →Serial communication là một phương thức truyền thông trong đó dữ liệu được truyền một bit một lần, theo thứ tự. Điều này khác với phương thức truyền thông song song, nơi mà nhiều bit được truyền cùng một lúc. Trong serial communication, mỗi bit được truyền một cách độc lập và được xác định bởi một tín hiệu đồng hồ (clock signal). Điều này cho phép truyền thông hiệu quả và tin cậy, đặc biệt là trong các ứng dụng đòi hỏi truyền thông dài khoảng cách. Serial communication được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm máy tính, điện thoại di động và các thiết bị điện tử khác.
38Which Mbed API class is used to generate analog output signals?4 lựa chọnDễ100% trả lời đúng
A
BusOutB
DigitalOutC
AnalogInD
AnalogOutLời giải
Mở trang câu hỏi này →Để tạo ra tín hiệu đầu ra analog, bạn cần sử dụng lớp Mbed API phù hợp. Trong các lựa chọn đã cho, lớp "AnalogOut" là lựa chọn đúng. Lớp "AnalogOut" cho phép bạn tạo ra tín hiệu analog có thể được sử dụng để điều khiển các thiết bị như động cơ, cảm biến, v.v. Lớp này cung cấp các phương thức để đặt giá trị analog và điều khiển cường độ tín hiệu. Điều này cho phép bạn tạo ra các tín hiệu analog phức tạp và linh hoạt để đáp ứng các yêu cầu của dự án của bạn. Ngoài ra, lớp "AnalogOut" cũng cung cấp các tính năng như khả năng điều khiển tốc độ, cường độ và hình dạng tín hiệu, giúp bạn có thể tạo ra các tín hiệu analog chính xác và đáng tin cậy.
39Which controller in the Cortex-M4 processor manages interrupts and their priorities?4 lựa chọnDễ100% trả lời đúng
ADMA controller
BGPIO controller
CNVIC (Nested Vectored Interrupt Controller)
DCache controller
Lời giải
Mở trang câu hỏi này →Trong bộ xử lý Cortex-M4, bộ điều khiển nào quản lý các sự kiện ngắt và ưu tiên của chúng? Bộ điều khiển NVIC (Nested Vectored Interrupt Controller) là một phần quan trọng của bộ xử lý Cortex-M4. Nó chịu trách nhiệm quản lý các sự kiện ngắt và ưu tiên của chúng. Bộ điều khiển NVIC cho phép các sự kiện ngắt được ưu tiên và xử lý theo thứ tự ưu tiên. Điều này giúp đảm bảo rằng các sự kiện ngắt quan trọng được xử lý trước. Ngoài ra, bộ điều khiển NVIC cũng cung cấp khả năng quản lý các sự kiện ngắt từ các nguồn khác nhau, bao gồm cả các thiết bị ngoại vi.
40In RTOS task management, which state indicates that a task is waiting for an event before it can continue execution?4 lựa chọnDễ100% trả lời đúng
AFinished
BReady
CRunning
DBlocked
Lời giải
Mở trang câu hỏi này →Trong quản lý nhiệm vụ của hệ điều hành thời gian thực (RTOS), trạng thái 'Blocked' (Khóa) cho biết một nhiệm vụ đang chờ đợi sự kiện trước khi nó có thể tiếp tục thực hiện. Khi một nhiệm vụ đang chờ đợi sự kiện, nó sẽ không thể thực hiện mã lệnh của mình cho đến khi sự kiện đó xảy ra. Trạng thái này thường xảy ra khi nhiệm vụ đang chờ đợi một sự kiện nhất định, chẳng hạn như nhận một tin nhắn hoặc một tín hiệu từ thiết bị ngoại vi. Trong khi chờ đợi, nhiệm vụ sẽ không chiếm dụng tài nguyên hệ thống và sẽ được kích hoạt lại khi sự kiện xảy ra.