Advanced Search
Search Results
131 total results found
Quartus Prime Synthesis Tutorial
1.3 Quartus Prime Tutorial For this tutorial, we will use this code for reference : LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AND_GATE IS PORT ( A : IN STD_LOGIC; B : IN STD_LOGIC; Y : OUT STD_LOGIC ); ...
Template EMAS
Header EMAS 1 - Literal Header <p dir="ltr" style="text-align: center;"><img src="https://emas3.ui.ac.id/draftfile.php/2625380/user/draft/495439476/Logo.png" alt="Logo" width="256" height="256" class="img-fluid atto_image_button_text-top"></p> <p dir="ltr" s...
1.1 Learning Objectives
After completing this module, students are expected to be able to: Understand how to effectively read and interpret integrated circuit (IC) datasheets, including key specifications, pin configurations, and operational parameters. Understand the funda...
1.2 Basic Components
Before we make a digital system circuit, we have to know more about what component that will be used when making a digital system. Power Supply Power supply is an electrical component that is used to supply electrical power for other components. Power supply...
1.3 Datasheet
Datasheet is a piece of paper, in physical form or digital form, provided by the component or software manufacturer that consists of information about the product. In digital circuit design, datasheets provide information about electrical components suchas IC....
1. Introduction to VHDL
1.1 What is VHDL VHDL is an acronym for VHSIC HDL or, more completely, Very High-Speed Integrated Circuit Hardware Description Language. VHDL is a language used to describe hardware, so its writing style cannot be equated with high/low-level programming langu...
2. Dataflow Style in VHDL
2.1 What is Dataflow Style The Dataflow style is built on concurrency because the central idea is to model the system as a set of concurrent operations on signals, which directly reflects the physical reality of hardware. In any integrated circuit, all compon...
Learning Objectives
After completing this module, students are expected to be able to: Understand the basic concepts of task scheduling in RTOS. Understand the types of task scheduling algorithms. Understand and apply FreeRTOS APIs to create and manage tasks on the ESP-32.
The Importance of Task Scheduling in IoT
One of the most important aspects in an RTOS is task scheduling since it defines the sequence in which many operations run on the CPU at the appropriate instant. Each process or task in the context of real-time applications has a particular function, such read...
Categories of Task Scheduling Algorithms
Several task-scheduling techniques available in a Real-Time Operating System (RTOS) have both benefits and drawbacks depending on the the needs of the system and the nature of the tasks under execution. Among the most often used algorithms are: 1. Run for Com...
Introduction to FreeRTOS
Particularly for IoT uses, FreeRTOS is a well-known open-source RTOS kernel found in embedded systems. FreeRTOS has three basic ideas guiding its design: Simplicity: Simple to grasp and put to use. Portability: It can operate on several different processo...
Practical Sections
Setting Up FreeRTOS on ESP-32 Two cores in ESP-32 let this low-power microcontroller operate: CPU0: Handles BLE, Bluetooth, and Wi-Fi wireless protocols. CPU1: Executes code for user apps. Installing and configuring the ESP-32 Arduino Core: 1. Obtain...
Additional References
[1]“Introduction to RTOS Part 3 - Task Scheduling | Digi-Key Electronics,” www.youtube.com. https://www.youtube.com/watch?v=95yUbClyf3E. [2]“Introduction to RTOS - Solution to Part 3 (Task Scheduling),” DigiKey, 2021. https://www.digikey.com/en/maker/projec...
1. Introduction to Functions
1.1 What are Functions? Functions are self-contained blocks of code that perform specific tasks. They are fundamental building blocks that help organize code, promote reusability, and make programs more modular and maintainable. Benefits of Functions: Code Re...
2. Function Declaration, Definition, and Calling
2.1 Function Anatomy A C function consists of several parts: return_type function_name(parameter_list) { // Function body // Local variables // Statements return value; // (if return_type is not void) } Components: Return Type: Data type of t...
3. Parameters and Arguments
3.1 Terminology Parameters (Formal Parameters): Variables in the function definition Arguments (Actual Parameters): Values passed when calling the function // 'a' and 'b' are parameters int add(int a, int b) { return a + b; } int main() { int x = 5,...
4. Return Statement
4.1 Basic Return Usage The return statement serves two purposes: Return control to the calling function Return a value (optional, depending on function type) // Function that returns a value int get_maximum(int a, int b) { if (a > b) { return a; ...
5. Variable Scope and Lifetime
5.1 Local Variables Variables declared inside a function are local to that function: Scope: Only accessible within the function where they're declared Lifetime: Created when function is called, destroyed when function returns Storage: Usually on the stack #i...
6. Bonus: Some C Library Functions
Throughout this module, we've focused on defining our own functions. However, C also provides a rich set of built-in functions, known as Standard Library Functions. These functions are pre-written and grouped into various libraries (e.g., <stdio.h>, <stdlib.h>...
7. Recursion
7.1 Understanding Recursion Recursion is a programming technique where a function calls itself. Every recursive function needs: Base case: Condition that stops the recursion Recursive case: Function calls itself with modified parameters 7.2 Python vs C Recur...