Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Implement the "Nuclear Reactor" example using the following: An ISR triggered by a button press A task to update the temperatures A semaphore to communicate between the ISR and the update task The update task should use dynamic memory allocation to get a buffer in which to place the temperature. Pass the buffer containing the temperatures to the checking task using an RTOS queue.Write an "Introduction to using FreeRTOS" document in which you use your "Nuclear Reactor" code as an example to explain the key concepts of Semaphores, queues, dynamic memory allocation in an RTOS and timing in an RTOS.This is a code: Nuclear reactor. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// main.c////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include/* Scheduler include files. */#include#include#include#include/*-----------------------------------------------------------*/voidTaskUpdatTemps(void *pvParameters);voidTaskCheckTemps(void *pvParameters);/*-----------------------------------------------------------*///global shared dataint temperatures[2];//xSemaphoreHandle-Data structure managed by the RTOSxSemaphoreHandletemperaturesSem;xSemaphoreHandleReleaseSem;ISR(INT0_vect){ //Release the semaphore xSemaphoreGive(ReleaseSem);}intmain(void){ //Set direction of PORTB pin 5,6,7 as output pins DDRB |= (1< DDRB |= (1< DDRB |= (1< //Generate in on rising edge on INT0 pin - bits in EICRA Reg EICRA |= (1 << ISC00); EICRA |= (1 << ISC01); //Enable - bits in EIMSK reg EIMSK |= (1 << INT0); //Enable interrupts - Set I bit in SR(status register) sei(); xTaskCreate( TaskUpdatTemps , NULL , 256 , NULL , 2 , NULL ); xTaskCreate( TaskCheckTemps , NULL , 256 , NULL , 1 , NULL ); //Create semaphores vSemaphoreCreateBinary(temperaturesSem); vSemaphoreCreateBinary(ReleaseSem); //Start the task Scheduler vTaskStartScheduler();/*while(1) { //do nothing }*/}/*-----------------------------------------------------------*/voidTaskUpdatTemps(void *pvParameters){//Just keep compiler happy (void)pvParameters; staticint count = 0;while(1) { //Take the semaphore ReleaseSem xSemaphoreTake(ReleaseSem, portMAX_DELAY); //Take the semaphore temperatureSem to protect atomic variables xSemaphoreTake(temperaturesSem, portMAX_DELAY); temperatures[0]=count; temperatures[1]=count; //Give the semaphore back xSemaphoreGive(temperaturesSem); //Increment Count variable count ++; //Toggle portb pin 6 to turn LED on/off (Using Exclusive OR) PORTB ^= (1< //Delay for 1 sec //vTaskDelay( 1000 / portTICK_RATE_MS ); }}/*-----------------------------------------------------------*/voidTaskCheckTemps(void *pvParameters) // Main Green LED Flash{int temp0, temp1; (void) pvParameters;//Set direction of pin to be an output DDRB |= (1<while(1) { //Take the semaphore temperatureSem to protect atomic variables xSemaphoreTake(temperaturesSem, portMAX_DELAY); temp0=temperatures[0]; //Delay for 1 sec vTaskDelay( 1000 / portTICK_RATE_MS ); temp1=temperatures[1]; //Give the semaphore back xSemaphoreGive(temperaturesSem); //Toggle portb pin 5 to turn LED on/off (Using Exclusive OR) PORTB ^= (1< //Checking to see if temperatures match if(temp0 != temp1) { PORTB |= (1< } }}
I can attach or send the assignment instructions, but they''re rather long. 90% of the code is already written and given to us. The assignment is primarily rewriting and rearrangin
The software development team identified the following classes based on the analysis of given requirements: Product, Employee, ProductList, Supplier. 1. Identify the relationsh
ADO. NET ADO.NET (ActiveX Information Things for .NET) is a set of programs elements that developers can use to accessibility data and data solutions. It is an element of the platf
Need help with my assignment
One of the main strengths of the Perl programming language are its powerful text manipulation features. In this assignment, you will put them to use for writing a Perl program that
Determine the solution to the following differential equation. x 2 y′′ + 3xy′ + 4 y = 0 Solution Find the roots to (3) first as generally. r(r -1) + 3r + 4 = 0 r
( Airline Reservations System ) A small airline has just purchased a computer for its new automated reservations system. You have been asked to develop the new system. You are to w
I have to create a bank atm machine using MS-DOS. I am struggling to create LIST ALL ACCOUNTS ROLL-BACK TRANSACTIONS ACCESS AN ACCOUNT
1. Write a program that figures out how long it will take to pay off a credit card by making payments of $10 each month. Take care to avoid infinite loops. (How would a bank preven
For this assignment you will need to design and construct a basic math program which targets elementary school children. Your program must adhere to the following steps and require
Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd