MIP201DễKỳ 7Chuyên ngành Cập nhật 25/03/2026

Microcontroller Programming - MIP201

Lập trình vi điều khiển (Microcontroller Programming - MIP201) là một trong những cột mốc quan trọng trong lộ trình đào tạo kỹ sư IoT và hệ thống nhúng tại Đại học FPT. Môn học tập trung vào việc hiện thực hóa các dự án thực tế trên nền tảng kiến trúc Arm Cortex-M4 thông qua kit phát triển ST Nucleo F401RE và hệ sinh thái Mbed API (Mbed OS).

226Câu hỏi
2Bộ đề
1Chủ đề
5,01 đánh giá

Câu hỏi của môn

104/226 câuCòn 122
85An 8-bit ADC has a resolution corresponding to how many discrete values?5 lựa chọnDễ86% trả lời đúng
A256 values
B8 values
C10 values
D1024 values
E65536 values
Lời giải
Một ADC 8-bit có độ phân giải tương ứng với số giá trị rời rạc là 2^8 = 256 giá trị. Điều này có nghĩa là ADC có thể đo được 256 mức độ khác nhau của tín hiệu đầu vào. Độ phân giải cao hơn sẽ cho phép đo được nhiều mức độ khác nhau hơn, nhưng cũng sẽ làm tăng độ phức tạp và chi phí của ADC. Trong thực tế, độ phân giải của ADC thường được đo bằng số bit, và mỗi bit thêm vào sẽ tăng gấp đôi số giá trị rời rạc có thể đo được. Vì vậy, một ADC 8-bit có thể đo được 2^8 = 256 giá trị rời rạc, trong khi một ADC 10-bit có thể đo được 2^10 = 1024 giá trị rời rạc.
Mở trang câu hỏi này →
86Which Mbed API class is used to generate analog output signals?4 lựa chọnDễ100% trả lời đúng
ABusOut
BDigitalOut
CAnalogIn
DAnalogOut
Lời giải
Để 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.
Mở trang câu hỏi này →
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
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.
Mở trang câu hỏi này →
88How 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
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.
Mở trang câu hỏi này →
89What is the purpose of the Mbed Software Development Kit (SDK)?4 lựa chọnDễ100% trả lời đúng
ATo simulate processor pipelines
BTo replace the microcontroller hardware
CTo manage power supply circuits
DTo provide libraries, drivers, and tools for developing embedded applications
Lời giải
Mbed SDK là một bộ công cụ phần mềm được thiết kế để hỗ trợ việc phát triển ứng dụng nhúng. Bộ công cụ này cung cấp các thư viện, trình điều khiển và công cụ để giúp các nhà phát triển tạo ra các ứng dụng nhúng hiệu suất cao và đáng tin cậy. Mbed SDK cho phép các nhà phát triển sử dụng các ngôn ngữ lập trình phổ biến như C và C++ để tạo ra các ứng dụng nhúng. Bộ công cụ này cũng cung cấp các công cụ để quản lý và tối ưu hóa việc sử dụng năng lượng, giúp giảm thiểu tiêu thụ năng lượng của các ứng dụng nhúng. Ngoài ra, Mbed SDK cũng hỗ trợ việc phát triển các ứng dụng nhúng dựa trên các nền tảng khác nhau, bao gồm cả các nền tảng dựa trên ARM và x86.
Mở trang câu hỏi này →
AAnalogIn (PinName pin)
Boperator float ()
Cread ()
Dwrite_u16 (unsigned short value)
EAnalogOut (PinName pin)
Lời giải
Để tạo một đối tượng AnalogOut kết nối đến một cổng pin cụ thể, bạn cần sử dụng hàm Mbed AnalogOut (PinName pin). Hàm này cho phép bạn tạo một đối tượng AnalogOut và kết nối nó đến một cổng pin cụ thể trên thiết bị. Điều này cho phép bạn điều khiển tín hiệu analog trên cổng pin đó. Ví dụ, bạn có thể sử dụng AnalogOut để tạo một tín hiệu analog để điều khiển một cảm biến hoặc một thiết bị khác. Hàm AnalogOut (PinName pin) là một phần quan trọng của thư viện Mbed và được sử dụng rộng rãi trong các dự án điện tử.
Mở trang câu hỏi này →
AHAL Manager
BCMSIS-DAP
CMbed CLI
DSecure Partition Manager (SPM)
Lời giải
Trong hệ điều hành Mbed OS, phần tử quản lý cách ly phần mềm và giao tiếp giữa các phân vùng bảo mật được gọi là Secure Partition Manager (SPM). SPM là một phần quan trọng trong kiến trúc bảo mật của Mbed OS, giúp đảm bảo rằng các phần mềm độc lập và không tương tác với nhau được chạy trên các phân vùng riêng biệt. Điều này cung cấp một mức độ bảo mật cao và ngăn chặn các cuộc tấn công có thể xảy ra thông qua việc truy cập không hợp lệ vào các phân vùng bảo mật. SPM cũng cung cấp các tính năng để quản lý giao tiếp giữa các phân vùng bảo mật, bao gồm việc truyền dữ liệu và gọi các chức năng. Với sự giúp đỡ của SPM, các nhà phát triển có thể xây dựng các ứng dụng bảo mật cao và đáng tin cậy trên nền tảng Mbed OS.
Mở trang câu hỏi này →
92Why 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
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.
Mở trang câu hỏi này →
93What is the primary function of the Prescaler?5 lựa chọnDễ100% trả lời đúng
ATo generate a reset signal
BTo divide the input frequency by a predefined value
CTo compare two separate values
DTo load the timer register
ETo increase the clock frequency
Lời giải
Prescaler (tính toán chia tần số) là một thành phần quan trọng trong các thiết bị thời gian (timer). Chức năng chính của Prescaler là chia tần số đầu vào (input frequency) theo một giá trị xác định (predefined value). Điều này giúp tạo ra một tần số mới, có thể được sử dụng để điều khiển các hoạt động của thiết bị thời gian. Prescaler hoạt động bằng cách đếm số lượng chu kỳ của tín hiệu đầu vào và khi đạt đến giá trị xác định, nó sẽ tạo ra một tín hiệu reset. Tính năng này cho phép thiết bị thời gian hoạt động chính xác và ổn định, ngay cả khi có sự thay đổi trong tần số đầu vào.
Mở trang câu hỏi này →
94What does Pulse-width modulation (PWM) mode use to modulate an amplitude?5 lựa chọnDễ75% trả lời đúng
AThe Prescaler value
BVoltage level
CThe frequency of the clock source
DThe period of the pulse
EThe width of a pulse
Lời giải
Pulse-width modulation (PWM) là một phương pháp điều chế tần số, trong đó độ rộng của xung điện áp được sử dụng để điều chế độ lớn của tín hiệu. Trong PWM, độ rộng của xung điện áp được thay đổi để tạo ra các tín hiệu có độ lớn khác nhau. Điều này cho phép điều khiển các thiết bị điện tử như động cơ, đèn LED, v.v. bằng cách thay đổi độ rộng của xung điện áp. Ví dụ, nếu độ rộng của xung điện áp tăng lên, thì độ lớn của tín hiệu cũng tăng lên. Ngược lại, nếu độ rộng của xung điện áp giảm xuống, thì độ lớn của tín hiệu cũng giảm xuống. Vì vậy, PWM sử dụng độ rộng của xung điện áp để điều chế độ lớn của tín hiệu.
Mở trang câu hỏi này →
95What 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
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.
Mở trang câu hỏi này →
ALink
BCompile
CAssemble
DExecute
Lời giải
Trong quá trình tạo chương trình, bước nào kết hợp các tệp đối tượng và thư viện để tạo ra chương trình thực thi được?
Mở trang câu hỏi này →
AWaiting
BRunning
CTerminated
DInactive
EReady
Lời giải
Khi một luồng (thread) đang chờ đợi sự kiện xảy ra, theo API Mbed, nó sẽ ở trạng thái nào? Trả lời này dựa trên mô hình quản lý luồng (thread management model) của Mbed. Theo mô hình này, một luồng có thể ở các trạng thái khác nhau như: Running (chạy), Waiting (đợi), Terminated (đã kết thúc), Inactive (không hoạt động), Ready (đã sẵn sàng). Trong trường hợp một luồng đang chờ đợi sự kiện xảy ra, nó sẽ ở trạng thái Waiting (đợi). Điều này có nghĩa là luồng đang chờ đợi một sự kiện nào đó xảy ra trước khi nó có thể tiếp tục thực hiện các hành động tiếp theo. Ví dụ, một luồng có thể đang chờ đợi một tín hiệu từ thiết bị ngoại vi trước khi nó có thể tiếp tục thực hiện các hành động tiếp theo.
Mở trang câu hỏi này →
AMIMD
BSIMD
CSISD
DMISD
Lời giải
Theo Flynn's Taxonomy, kiến trúc loại nào được sử dụng phổ biến nhất trong hệ thống tích hợp (embedded systems)? Flynn's Taxonomy là một mô hình phân loại kiến trúc máy tính, được phát triển bởi Michael J. Flynn vào năm 1966. Theo mô hình này, kiến trúc máy tính được phân loại thành bốn loại chính: SISD, SIMD, MISD và MIMD. Trong đó, SISD (Single Instruction, Single Data) là kiến trúc loại mà một bộ xử lý thực hiện một lệnh và một dữ liệu tại một thời điểm. Kiến trúc SISD thường được sử dụng trong các hệ thống có yêu cầu tính toán đơn giản, như các hệ thống đo lường, điều khiển và các thiết bị điện tử tiêu dùng. Vì vậy, kiến trúc SISD là loại kiến trúc được sử dụng phổ biến nhất trong hệ thống tích hợp (embedded systems).
Mở trang câu hỏi này →
ARequires extensive initial setup
BNo prior-installation or set-up required
COnly supports assembly language
DWorks exclusively offline
ERequires a large local database
Lời giải
Mbed Online Compiler (Mbed Tool Compiler [Kit Studio Cloud IDE]) là một công cụ trực tuyến cho phép lập trình viên tạo và biên dịch mã cho các thiết bị IoT mà không cần phải cài đặt hoặc cấu hình trước. Điều này làm cho nó trở thành một lựa chọn tuyệt vời cho những người mới bắt đầu hoặc những người muốn nhanh chóng thử nghiệm ý tưởng của mình. Không giống như các công cụ lập trình khác, Mbed Online Compiler không yêu cầu cài đặt hoặc cấu hình trước, điều này giúp tiết kiệm thời gian và giảm thiểu sự phức tạp. Ngoài ra, công cụ này cũng cho phép người dùng truy cập vào các tính năng và công cụ lập trình tiên tiến mà không cần phải tải xuống hoặc cài đặt bất kỳ phần mềm nào. Tóm lại, Mbed Online Compiler là một công cụ trực tuyến mạnh mẽ và linh hoạt cho phép người dùng tạo và biên dịch mã cho các thiết bị IoT mà không cần phải cài đặt hoặc cấu hình trước.
Mở trang câu hỏi này →
AIncreasing chip size
BSlower communication networks
CSmaller and lower-power embedded chips
DDecreasing number of connected devices
Lời giải
Trend công nghệ nào đã giúp tăng tốc sự phát triển của Internet? Trước đây, các thiết bị điện tử như máy tính, điện thoại di động,... đều có kích thước lớn và tiêu thụ nhiều năng lượng. Tuy nhiên, với sự phát triển của công nghệ, các chip điện tử đã trở nên nhỏ gọn và tiết kiệm năng lượng hơn. Điều này đã giúp tăng tốc độ xử lý và giảm thiểu tiêu thụ năng lượng, từ đó giúp tăng tốc sự phát triển của Internet. Các chip điện tử nhỏ gọn và tiết kiệm năng lượng đã giúp giảm thiểu chi phí sản xuất và tăng cường khả năng kết nối, từ đó giúp Internet phát triển nhanh chóng.
Mở trang câu hỏi này →
ACortex Microcontroller Software Interface Standard (CMSIS)
BIntegrated Development Environment (IDE)
CDAPLink
DMbed Hardware Development Kit (HDK)
EMbed Operating System (Mbed OS)
Lời giải
Mbed platform là một nền tảng phát triển phần mềm cho các thiết bị Internet of Things (IoT). Mbed OS là một phần quan trọng của Mbed platform, bao gồm các thư viện, nhân hệ điều hành (RTOS core), giao diện phần cứng (HAL) và API. Mbed OS cung cấp một môi trường phát triển phần mềm thống nhất cho các thiết bị IoT, giúp các nhà phát triển dễ dàng tạo ra các ứng dụng và giải pháp IoT. Với Mbed OS, các nhà phát triển có thể truy cập vào các thư viện và công cụ cần thiết để phát triển các ứng dụng IoT, bao gồm các thư viện mạng, thư viện cảm biến và thư viện giao tiếp. Mbed OS cũng cung cấp một nhân hệ điều hành nhỏ gọn và hiệu suất cao, giúp các thiết bị IoT hoạt động một cách ổn định và hiệu quả.
Mở trang câu hỏi này →
AFrequency division
BPulse Width Modulation (PWM)
CInterrupt scheduling
DAnalog modulation
Lời giải
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 thời gian bật và tắt?
Mở trang câu hỏi này →
103What is a key feature of the Cortex-M4 processor pipeline?4 lựa chọnDễ95% trả lời đúng
AEight-stage pipeline
BFive-stage pipeline
CThree-stage pipeline
DTwo-stage pipeline
Lời giải
Cortex-M4 là một loại vi xử lý được thiết kế bởi ARM. Một trong những đặc điểm quan trọng của vi xử lý này là cấu trúc chuỗi xử lý (pipeline). Cấu trúc chuỗi xử lý là một chuỗi các bước xử lý được thực hiện liên tiếp nhau trong vi xử lý. Đối với Cortex-M4, cấu trúc chuỗi xử lý có 3 bước chính. Điều này cho phép vi xử lý thực hiện các lệnh một cách nhanh chóng và hiệu quả. Cấu trúc chuỗi xử lý 3 bước giúp giảm thiểu thời gian xử lý và tăng cường hiệu suất của vi xử lý. Điều này đặc biệt quan trọng trong các ứng dụng yêu cầu xử lý nhanh chóng và hiệu quả như trong các hệ thống tự động hóa, thiết bị điện tử và các ứng dụng khác.
Mở trang câu hỏi này →
104What is the primary function of the DigitalInput interface in the Mbed API?4 lựa chọnTrung bình52% 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
Lời giải
ĐigitalInput là một giao diện trong Mbed API, được sử dụng để đọc giá trị của một cổng vào số. Giao diện này cho phép bạn đọc trạng thái của một cổng vào số, chẳng hạn như trạng thái cao (1) hoặc thấp (0). Đ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 giao diện DigitalInput, 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 số. Phương thức read() sẽ trả về giá trị của cổng vào số, có thể là 0 hoặc 1. Giao diện DigitalInput rất đơn giản và dễ sử dụng, nhưng nó rất hữu ích khi bạn cần đọc giá trị của một cổng vào số.
Mở trang câu hỏi này →