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< } }}
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
Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4
Shemrock Inc. is a brake pad manufacturing company. This company uses raw materials, such as carbon powder, iron, ash, and resin. It wants to develop an inventory management system
Corrected Exercise #1: 1. Explain the following unexpected result: why did you get the system date command instead of the script? $ whereis date date: /bin/date ... $ echo $PATH
Vacation Envy - Travel and Photo Sharing Website Site Overview- Vacation Envy is a travel as well as photo-sharing site. Make your travel map, share photos and show off al
Question: (a) Outline the six norms to be considered before designing a Web page. (b) Write a program such that when a user right-clicks anywhere on a Web page, the follow
basic steps involved in spreadsheet developement
Let us say we have a list of 10 animal objects called "animals" in Alice. Write the code to move them forward synchronously by 1 meter.
Windows Presentation Foundation Designed by Microsoft Technologies, the Microsoft Technologies windows Display Groundwork (or WPF) is a computer-software graphic subsystem for maki
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