What goes for memory mapped IO in digitalWrite(4,HIGH);?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

What goes for memory mapped IO in digitalWrite(4,HIGH);?

5. I copied the following out of the Arduino programming guide. Finish filling in the table showing me how to
replace the following function calls to pinMode and digitalWrite with simple C code and assembly code.
Make sure you calculate the appropriate masks.
PORTD maps to Arduino digital pins 0 to 7
DDRD The Port D Data Direction Register - read/write (IO Address 0x0A, Memory Address 0x002A)
PORTD- The Port D Data Register - read/write (10 Address 0x0B, Memory Address 0x002B)
(library functions) C-Code (using & and |
pinMode(4,
OUTPUT);
masks)
(legacy IO assembly)
asm volatile(
"sbi 0x0A, 4 \n\t"
);
(memory mapped IO)
//method 4, memory mapped io
asm volatile (
);
"lds r24, 0x002A \n\t"
"ori r24, 0x10 \n\t
"sts 0x002A, r24 \n\t"
| digitalWrite(4,
HIGH);
PORTD PORTD | 0x10
digitalWrite(4,
LOW);
asm volatile(
"cbi 0x0B, 4 \n\t"
);
//method 4, memory mapped io
asm volatile(
};
lds r24, 0x002B \n\t"
"andi r24, 0xEF \n\t"
"sts 0x0028, r24 \n\t
Transcribed Image Text:5. I copied the following out of the Arduino programming guide. Finish filling in the table showing me how to replace the following function calls to pinMode and digitalWrite with simple C code and assembly code. Make sure you calculate the appropriate masks. PORTD maps to Arduino digital pins 0 to 7 DDRD The Port D Data Direction Register - read/write (IO Address 0x0A, Memory Address 0x002A) PORTD- The Port D Data Register - read/write (10 Address 0x0B, Memory Address 0x002B) (library functions) C-Code (using & and | pinMode(4, OUTPUT); masks) (legacy IO assembly) asm volatile( "sbi 0x0A, 4 \n\t" ); (memory mapped IO) //method 4, memory mapped io asm volatile ( ); "lds r24, 0x002A \n\t" "ori r24, 0x10 \n\t "sts 0x002A, r24 \n\t" | digitalWrite(4, HIGH); PORTD PORTD | 0x10 digitalWrite(4, LOW); asm volatile( "cbi 0x0B, 4 \n\t" ); //method 4, memory mapped io asm volatile( }; lds r24, 0x002B \n\t" "andi r24, 0xEF \n\t" "sts 0x0028, r24 \n\t
Expert Solution
steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
Analysis of Performance Measurement
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education