Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together
It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Intern...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
[Berkeley, CA]
Apress
[2020]
|
Schriftenreihe: | Technolgy in Action
|
Schlagworte: | |
Zusammenfassung: | It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Internals takes a detailed dive into the Arduino environment. We’ll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language. What You’ll Learn: - How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;- How the compilation system works, and how kit can be altered to suit personal requirements;- A small amount of AVR Assembly Language;- Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets – which are often bug ridden and unclear;- Alternatives to the Arduino IDE which might give them a better workflow;- How to build their own Arduino clone from scratch.Who This Book Is For: No expertise is required for this book! All you need is an interest in learning about what you’re making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome! |
Beschreibung: | 1. Introduction1.1. Arduino Installation Paths1.2. Coding Style1.3. The Arduino Language1.4. Coming UpPart 1 - Arduino Compilation2. Preferences.txt2.1. Using an ICSP For All Uploads2.2. Change the Action of Home and End Keys2.3. Setting Tab Stops3. Globally Defined Paths4. Boards.Txt4.1. Arduino Uno Example5. Platform.txt5.1. Build Recipes5.2. Pre and Post Build Hooks6. Programmers.txt7. Compiling a Sketch7.1. Arduino Sketch (*.ino) Preprocessing7.2. Arduino Sketch (*.ino) Build8. The Arduino main() Function9. Header File Arduino.h9.1. Header File avrpgmspace.h9.2. Header File avrio.h9.3. Header File avrinterrupt.h9.4. Header File binary.h9.5. Header File WCharacter.h9.6. Header File WString.h9.7. Header File HardwareSerial.h9.8. Header File USBAPI.h9.9. Header File pins_arduino.h10. The init() Function10.1. Enabling the Global Interrupt Flag10.2. Enabling Timer 010.3. Timer 0 Overflow Interrupt10.4. Enabling Timer 1 and Timer 210.5. - Initialising the Analogue to Digital Converter10.6. Disabling the USARTPart 2 - Arduino Language Reference11. Digital Input/Output11.1. Function pinMode()11.2. Function digitalRead()11.3. Function digitalWrite()12. Analogue Input/Output12.1. Function analogReference()12.2. Function analogRead()12.3. Function analogWrite()13. Advanced Input/Output13.1. Function tone()13.2. Function noTone()13.3. Function pulseIn()13.4. Function pulseInLong()13.5. Function shiftIn()13.6. Function shiftOut()14. Time14.1. Function delay()14.2. Function delayMicroseconds()14.3. Function micros()14.4. Function millis()15. Interrupts15.1. Function interrupts()15.2. Function noInterrupts()15.3. Function attachInterrupt()15.4. Function detachInterrupt()16. Bits and Bobs16.1. Function bit()16.2. Function bitClear()16.3. Function bitRead()16.4. Function bitSet()16.5. Function bitWrite()16.6. Function highByte()16.7. Function lowByte()16.8. Function sbi()16.9. Function cbi()17. Arduino Classes17.1. - The Print Class17.2. The Printable Class17.3. The Stream Class17.4. The HardwareSerial Class17.5. The String ClassPart 3 - Converting to the AVR Language18. Introduction19. Numbering Systems.19.1. Decimal Numbering19.2. Binary Numbering19.3. Hexadecimal Numbering20. Binary Logical Operations20.1. NOT20.2. AND20.3. OR20.4. XOR21. Using the Arduino IDE21.1. Replacing pinMode()21.2. Replacing digitalWrite()21.3. Replacing digitalRead()Part 4 - Alternatives to the Arduino IDE22. PlatformIO22.1. Installing PlatformIO Core22.2. Testing PlatformIO Core22.3. PlatformIO in an IDE22.4. PlatformIO Home23. Arduino Command Line23.1. Obtaining the Arduino-CLI23.2. Installing23.3. Installing Platforms23.4. Configuring the CLI23.5. Creating Sketches23.6. Selecting a Board23.7. Compiling Sketches23.8. Uploading Sketches23.9. Getting Help23.10. Serial Usage23.11. FinallyPart 5 - About the ATMega328P24. ATmega328P Fuses24.1. Low Fuse Bits24.2. Low Fuse Factory Default24.3. Arduino Low Fuse Settings24.4. - High Fuse Bits24.5. High Fuse Factory Default24.6. Arduino High Fuse Settings24.7. Extended Fuse Bits24.8. Extended Fuse Factory Default24.9. Arduino Extended Fuse Settings25. Brown Out Detection26. The Watchdog Timer26.1. WDT Modes of Operation26.2. Amended Sketch setup() function26.3. WDT Reset26.4. The WDT Control Register26.5. Enabling the WDT26.6. Setting the WDT Timeout Period26.7. Disabling the WDT27. The Analogue Comparator27.1. Reference Voltage27.2. Sampled Voltage27.3. Digital Input27.4. Enable the Analogue Comparator27.5. Select Reference Voltage Source27.6. Select Sampled Voltage Source Pin27.7. Sampled Voltage Summary27.8. Comparator Outputs27.9. Comparator Example28. Timer/Counters28.1. Timer/Counter 0 (8 bits)28.2. Timer/Counter 1 (8, 9, 10 and/or 16 bits)28.3. Timer/Counter 2 (8 bits)28.4. Timer/Counter Clock Sources28.5. Timer/Counter Operating Modes28.6. PWM Modes - Duty Cycle28.7. Too Much to Remember? Try AVRAssist29. Counting29.1. Setting External Counting29.2. - Example Sketch30. Timer 1 Input Capture Unit31. Putting the AVR to Sleep31.1. Sleep Modes 23931.2. Analogue Comparator 24632. Power Reduction32.1. Power Consumption32.2. Power Reduction Register32.3. Saving Arduino Power32.4. The Power Functions33. Analogue to Digital Converter (ADC)33.1. ADC Setup and Initiation33.2. Noise Reduction33.3. Temperature Measurement33.4. ADC Example34. USART34.1. Baud Rates34.2. What is a Frame?34.3. Parity34.4. Interrupts34.5. Initialising the USART34.6. USART Checks34.7. USART ExampleAppendices |
Beschreibung: | xix, 617 pages illustrations 967 grams |
ISBN: | 9781484257890 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV046739341 | ||
003 | DE-604 | ||
005 | 20200617 | ||
007 | t | ||
008 | 200527s2020 a||| |||| 00||| eng d | ||
020 | |a 9781484257890 |9 978-1-4842-5789-0 | ||
024 | 3 | |a 9781484257890 | |
035 | |a (OCoLC)1164628071 | ||
035 | |a (DE-599)BVBBV046739341 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-29T | ||
100 | 1 | |a Dunbar, Norman |e Verfasser |4 aut | |
245 | 1 | 0 | |a Arduino Software Internals |b A Complete Guide to How Your Arduino Language and Hardware Work Together |c Norman Dunbar |
264 | 1 | |a [Berkeley, CA] |b Apress |c [2020] | |
300 | |a xix, 617 pages |b illustrations |c 967 grams | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Technolgy in Action | |
500 | |a 1. Introduction1.1. Arduino Installation Paths1.2. Coding Style1.3. The Arduino Language1.4. Coming UpPart 1 - Arduino Compilation2. Preferences.txt2.1. Using an ICSP For All Uploads2.2. Change the Action of Home and End Keys2.3. Setting Tab Stops3. Globally Defined Paths4. Boards.Txt4.1. Arduino Uno Example5. Platform.txt5.1. Build Recipes5.2. Pre and Post Build Hooks6. Programmers.txt7. Compiling a Sketch7.1. Arduino Sketch (*.ino) Preprocessing7.2. Arduino Sketch (*.ino) Build8. The Arduino main() Function9. Header File Arduino.h9.1. Header File avrpgmspace.h9.2. Header File avrio.h9.3. Header File avrinterrupt.h9.4. Header File binary.h9.5. Header File WCharacter.h9.6. Header File WString.h9.7. Header File HardwareSerial.h9.8. Header File USBAPI.h9.9. Header File pins_arduino.h10. The init() Function10.1. Enabling the Global Interrupt Flag10.2. Enabling Timer 010.3. Timer 0 Overflow Interrupt10.4. Enabling Timer 1 and Timer 210.5. | ||
500 | |a - Initialising the Analogue to Digital Converter10.6. Disabling the USARTPart 2 - Arduino Language Reference11. Digital Input/Output11.1. Function pinMode()11.2. Function digitalRead()11.3. Function digitalWrite()12. Analogue Input/Output12.1. Function analogReference()12.2. Function analogRead()12.3. Function analogWrite()13. Advanced Input/Output13.1. Function tone()13.2. Function noTone()13.3. Function pulseIn()13.4. Function pulseInLong()13.5. Function shiftIn()13.6. Function shiftOut()14. Time14.1. Function delay()14.2. Function delayMicroseconds()14.3. Function micros()14.4. Function millis()15. Interrupts15.1. Function interrupts()15.2. Function noInterrupts()15.3. Function attachInterrupt()15.4. Function detachInterrupt()16. Bits and Bobs16.1. Function bit()16.2. Function bitClear()16.3. Function bitRead()16.4. Function bitSet()16.5. Function bitWrite()16.6. Function highByte()16.7. Function lowByte()16.8. Function sbi()16.9. Function cbi()17. Arduino Classes17.1. | ||
500 | |a - The Print Class17.2. The Printable Class17.3. The Stream Class17.4. The HardwareSerial Class17.5. The String ClassPart 3 - Converting to the AVR Language18. Introduction19. Numbering Systems.19.1. Decimal Numbering19.2. Binary Numbering19.3. Hexadecimal Numbering20. Binary Logical Operations20.1. NOT20.2. AND20.3. OR20.4. XOR21. Using the Arduino IDE21.1. Replacing pinMode()21.2. Replacing digitalWrite()21.3. Replacing digitalRead()Part 4 - Alternatives to the Arduino IDE22. PlatformIO22.1. Installing PlatformIO Core22.2. Testing PlatformIO Core22.3. PlatformIO in an IDE22.4. PlatformIO Home23. Arduino Command Line23.1. Obtaining the Arduino-CLI23.2. Installing23.3. Installing Platforms23.4. Configuring the CLI23.5. Creating Sketches23.6. Selecting a Board23.7. Compiling Sketches23.8. Uploading Sketches23.9. Getting Help23.10. Serial Usage23.11. FinallyPart 5 - About the ATMega328P24. ATmega328P Fuses24.1. Low Fuse Bits24.2. Low Fuse Factory Default24.3. Arduino Low Fuse Settings24.4. | ||
500 | |a - High Fuse Bits24.5. High Fuse Factory Default24.6. Arduino High Fuse Settings24.7. Extended Fuse Bits24.8. Extended Fuse Factory Default24.9. Arduino Extended Fuse Settings25. Brown Out Detection26. The Watchdog Timer26.1. WDT Modes of Operation26.2. Amended Sketch setup() function26.3. WDT Reset26.4. The WDT Control Register26.5. Enabling the WDT26.6. Setting the WDT Timeout Period26.7. Disabling the WDT27. The Analogue Comparator27.1. Reference Voltage27.2. Sampled Voltage27.3. Digital Input27.4. Enable the Analogue Comparator27.5. Select Reference Voltage Source27.6. Select Sampled Voltage Source Pin27.7. Sampled Voltage Summary27.8. Comparator Outputs27.9. Comparator Example28. Timer/Counters28.1. Timer/Counter 0 (8 bits)28.2. Timer/Counter 1 (8, 9, 10 and/or 16 bits)28.3. Timer/Counter 2 (8 bits)28.4. Timer/Counter Clock Sources28.5. Timer/Counter Operating Modes28.6. PWM Modes - Duty Cycle28.7. Too Much to Remember? Try AVRAssist29. Counting29.1. Setting External Counting29.2. | ||
500 | |a - Example Sketch30. Timer 1 Input Capture Unit31. Putting the AVR to Sleep31.1. Sleep Modes 23931.2. Analogue Comparator 24632. Power Reduction32.1. Power Consumption32.2. Power Reduction Register32.3. Saving Arduino Power32.4. The Power Functions33. Analogue to Digital Converter (ADC)33.1. ADC Setup and Initiation33.2. Noise Reduction33.3. Temperature Measurement33.4. ADC Example34. USART34.1. Baud Rates34.2. What is a Frame?34.3. Parity34.4. Interrupts34.5. Initialising the USART34.6. USART Checks34.7. USART ExampleAppendices | ||
520 | |a It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Internals takes a detailed dive into the Arduino environment. We’ll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language. What You’ll Learn: - How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;- How the compilation system works, and how kit can be altered to suit personal requirements;- A small amount of AVR Assembly Language;- Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets – which are often bug ridden and unclear;- Alternatives to the Arduino IDE which might give them a better workflow;- How to build their own Arduino clone from scratch.Who This Book Is For: No expertise is required for this book! All you need is an interest in learning about what you’re making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome! | ||
650 | 4 | |a bicssc | |
650 | 4 | |a bicssc | |
650 | 4 | |a bisacsh | |
650 | 4 | |a bisacsh | |
650 | 4 | |a Computer input-output equipment | |
650 | 4 | |a Programming languages (Electronic computers) | |
650 | 4 | |a Operating systems (Computers) | |
650 | 4 | |a Computer science | |
650 | 0 | 7 | |a Arduino-Plattform |0 (DE-588)7692236-4 |2 gnd |9 rswk-swf |
653 | |a Hardcover, Softcover / Informatik, EDV/Hardware | ||
689 | 0 | 0 | |a Arduino-Plattform |0 (DE-588)7692236-4 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-1-4842-5790-6 |
999 | |a oai:aleph.bib-bvb.de:BVB01-032149277 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804181490569838592 |
---|---|
adam_txt | |
any_adam_object | |
any_adam_object_boolean | |
author | Dunbar, Norman |
author_facet | Dunbar, Norman |
author_role | aut |
author_sort | Dunbar, Norman |
author_variant | n d nd |
building | Verbundindex |
bvnumber | BV046739341 |
ctrlnum | (OCoLC)1164628071 (DE-599)BVBBV046739341 |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>07559nam a2200517 c 4500</leader><controlfield tag="001">BV046739341</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20200617 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">200527s2020 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781484257890</subfield><subfield code="9">978-1-4842-5789-0</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781484257890</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1164628071</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV046739341</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Dunbar, Norman</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Arduino Software Internals</subfield><subfield code="b">A Complete Guide to How Your Arduino Language and Hardware Work Together</subfield><subfield code="c">Norman Dunbar</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">[Berkeley, CA]</subfield><subfield code="b">Apress</subfield><subfield code="c">[2020]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xix, 617 pages</subfield><subfield code="b">illustrations</subfield><subfield code="c">967 grams</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Technolgy in Action</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">1. Introduction1.1. Arduino Installation Paths1.2. Coding Style1.3. The Arduino Language1.4. Coming UpPart 1 - Arduino Compilation2. Preferences.txt2.1. Using an ICSP For All Uploads2.2. Change the Action of Home and End Keys2.3. Setting Tab Stops3. Globally Defined Paths4. Boards.Txt4.1. Arduino Uno Example5. Platform.txt5.1. Build Recipes5.2. Pre and Post Build Hooks6. Programmers.txt7. Compiling a Sketch7.1. Arduino Sketch (*.ino) Preprocessing7.2. Arduino Sketch (*.ino) Build8. The Arduino main() Function9. Header File Arduino.h9.1. Header File avrpgmspace.h9.2. Header File avrio.h9.3. Header File avrinterrupt.h9.4. Header File binary.h9.5. Header File WCharacter.h9.6. Header File WString.h9.7. Header File HardwareSerial.h9.8. Header File USBAPI.h9.9. Header File pins_arduino.h10. The init() Function10.1. Enabling the Global Interrupt Flag10.2. Enabling Timer 010.3. Timer 0 Overflow Interrupt10.4. Enabling Timer 1 and Timer 210.5. </subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a"> - Initialising the Analogue to Digital Converter10.6. Disabling the USARTPart 2 - Arduino Language Reference11. Digital Input/Output11.1. Function pinMode()11.2. Function digitalRead()11.3. Function digitalWrite()12. Analogue Input/Output12.1. Function analogReference()12.2. Function analogRead()12.3. Function analogWrite()13. Advanced Input/Output13.1. Function tone()13.2. Function noTone()13.3. Function pulseIn()13.4. Function pulseInLong()13.5. Function shiftIn()13.6. Function shiftOut()14. Time14.1. Function delay()14.2. Function delayMicroseconds()14.3. Function micros()14.4. Function millis()15. Interrupts15.1. Function interrupts()15.2. Function noInterrupts()15.3. Function attachInterrupt()15.4. Function detachInterrupt()16. Bits and Bobs16.1. Function bit()16.2. Function bitClear()16.3. Function bitRead()16.4. Function bitSet()16.5. Function bitWrite()16.6. Function highByte()16.7. Function lowByte()16.8. Function sbi()16.9. Function cbi()17. Arduino Classes17.1. </subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a"> - The Print Class17.2. The Printable Class17.3. The Stream Class17.4. The HardwareSerial Class17.5. The String ClassPart 3 - Converting to the AVR Language18. Introduction19. Numbering Systems.19.1. Decimal Numbering19.2. Binary Numbering19.3. Hexadecimal Numbering20. Binary Logical Operations20.1. NOT20.2. AND20.3. OR20.4. XOR21. Using the Arduino IDE21.1. Replacing pinMode()21.2. Replacing digitalWrite()21.3. Replacing digitalRead()Part 4 - Alternatives to the Arduino IDE22. PlatformIO22.1. Installing PlatformIO Core22.2. Testing PlatformIO Core22.3. PlatformIO in an IDE22.4. PlatformIO Home23. Arduino Command Line23.1. Obtaining the Arduino-CLI23.2. Installing23.3. Installing Platforms23.4. Configuring the CLI23.5. Creating Sketches23.6. Selecting a Board23.7. Compiling Sketches23.8. Uploading Sketches23.9. Getting Help23.10. Serial Usage23.11. FinallyPart 5 - About the ATMega328P24. ATmega328P Fuses24.1. Low Fuse Bits24.2. Low Fuse Factory Default24.3. Arduino Low Fuse Settings24.4. </subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a"> - High Fuse Bits24.5. High Fuse Factory Default24.6. Arduino High Fuse Settings24.7. Extended Fuse Bits24.8. Extended Fuse Factory Default24.9. Arduino Extended Fuse Settings25. Brown Out Detection26. The Watchdog Timer26.1. WDT Modes of Operation26.2. Amended Sketch setup() function26.3. WDT Reset26.4. The WDT Control Register26.5. Enabling the WDT26.6. Setting the WDT Timeout Period26.7. Disabling the WDT27. The Analogue Comparator27.1. Reference Voltage27.2. Sampled Voltage27.3. Digital Input27.4. Enable the Analogue Comparator27.5. Select Reference Voltage Source27.6. Select Sampled Voltage Source Pin27.7. Sampled Voltage Summary27.8. Comparator Outputs27.9. Comparator Example28. Timer/Counters28.1. Timer/Counter 0 (8 bits)28.2. Timer/Counter 1 (8, 9, 10 and/or 16 bits)28.3. Timer/Counter 2 (8 bits)28.4. Timer/Counter Clock Sources28.5. Timer/Counter Operating Modes28.6. PWM Modes - Duty Cycle28.7. Too Much to Remember? Try AVRAssist29. Counting29.1. Setting External Counting29.2. </subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a"> - Example Sketch30. Timer 1 Input Capture Unit31. Putting the AVR to Sleep31.1. Sleep Modes 23931.2. Analogue Comparator 24632. Power Reduction32.1. Power Consumption32.2. Power Reduction Register32.3. Saving Arduino Power32.4. The Power Functions33. Analogue to Digital Converter (ADC)33.1. ADC Setup and Initiation33.2. Noise Reduction33.3. Temperature Measurement33.4. ADC Example34. USART34.1. Baud Rates34.2. What is a Frame?34.3. Parity34.4. Interrupts34.5. Initialising the USART34.6. USART Checks34.7. USART ExampleAppendices</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Internals takes a detailed dive into the Arduino environment. We’ll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language. What You’ll Learn: - How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;- How the compilation system works, and how kit can be altered to suit personal requirements;- A small amount of AVR Assembly Language;- Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets – which are often bug ridden and unclear;- Alternatives to the Arduino IDE which might give them a better workflow;- How to build their own Arduino clone from scratch.Who This Book Is For: No expertise is required for this book! All you need is an interest in learning about what you’re making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome!</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer input-output equipment</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming languages (Electronic computers)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Operating systems (Computers)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer science</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Arduino-Plattform</subfield><subfield code="0">(DE-588)7692236-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hardcover, Softcover / Informatik, EDV/Hardware</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Arduino-Plattform</subfield><subfield code="0">(DE-588)7692236-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-1-4842-5790-6</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-032149277</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV046739341 |
illustrated | Illustrated |
index_date | 2024-07-03T14:38:53Z |
indexdate | 2024-07-10T08:52:29Z |
institution | BVB |
isbn | 9781484257890 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-032149277 |
oclc_num | 1164628071 |
open_access_boolean | |
owner | DE-29T |
owner_facet | DE-29T |
physical | xix, 617 pages illustrations 967 grams |
publishDate | 2020 |
publishDateSearch | 2020 |
publishDateSort | 2020 |
publisher | Apress |
record_format | marc |
series2 | Technolgy in Action |
spelling | Dunbar, Norman Verfasser aut Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together Norman Dunbar [Berkeley, CA] Apress [2020] xix, 617 pages illustrations 967 grams txt rdacontent n rdamedia nc rdacarrier Technolgy in Action 1. Introduction1.1. Arduino Installation Paths1.2. Coding Style1.3. The Arduino Language1.4. Coming UpPart 1 - Arduino Compilation2. Preferences.txt2.1. Using an ICSP For All Uploads2.2. Change the Action of Home and End Keys2.3. Setting Tab Stops3. Globally Defined Paths4. Boards.Txt4.1. Arduino Uno Example5. Platform.txt5.1. Build Recipes5.2. Pre and Post Build Hooks6. Programmers.txt7. Compiling a Sketch7.1. Arduino Sketch (*.ino) Preprocessing7.2. Arduino Sketch (*.ino) Build8. The Arduino main() Function9. Header File Arduino.h9.1. Header File avrpgmspace.h9.2. Header File avrio.h9.3. Header File avrinterrupt.h9.4. Header File binary.h9.5. Header File WCharacter.h9.6. Header File WString.h9.7. Header File HardwareSerial.h9.8. Header File USBAPI.h9.9. Header File pins_arduino.h10. The init() Function10.1. Enabling the Global Interrupt Flag10.2. Enabling Timer 010.3. Timer 0 Overflow Interrupt10.4. Enabling Timer 1 and Timer 210.5. - Initialising the Analogue to Digital Converter10.6. Disabling the USARTPart 2 - Arduino Language Reference11. Digital Input/Output11.1. Function pinMode()11.2. Function digitalRead()11.3. Function digitalWrite()12. Analogue Input/Output12.1. Function analogReference()12.2. Function analogRead()12.3. Function analogWrite()13. Advanced Input/Output13.1. Function tone()13.2. Function noTone()13.3. Function pulseIn()13.4. Function pulseInLong()13.5. Function shiftIn()13.6. Function shiftOut()14. Time14.1. Function delay()14.2. Function delayMicroseconds()14.3. Function micros()14.4. Function millis()15. Interrupts15.1. Function interrupts()15.2. Function noInterrupts()15.3. Function attachInterrupt()15.4. Function detachInterrupt()16. Bits and Bobs16.1. Function bit()16.2. Function bitClear()16.3. Function bitRead()16.4. Function bitSet()16.5. Function bitWrite()16.6. Function highByte()16.7. Function lowByte()16.8. Function sbi()16.9. Function cbi()17. Arduino Classes17.1. - The Print Class17.2. The Printable Class17.3. The Stream Class17.4. The HardwareSerial Class17.5. The String ClassPart 3 - Converting to the AVR Language18. Introduction19. Numbering Systems.19.1. Decimal Numbering19.2. Binary Numbering19.3. Hexadecimal Numbering20. Binary Logical Operations20.1. NOT20.2. AND20.3. OR20.4. XOR21. Using the Arduino IDE21.1. Replacing pinMode()21.2. Replacing digitalWrite()21.3. Replacing digitalRead()Part 4 - Alternatives to the Arduino IDE22. PlatformIO22.1. Installing PlatformIO Core22.2. Testing PlatformIO Core22.3. PlatformIO in an IDE22.4. PlatformIO Home23. Arduino Command Line23.1. Obtaining the Arduino-CLI23.2. Installing23.3. Installing Platforms23.4. Configuring the CLI23.5. Creating Sketches23.6. Selecting a Board23.7. Compiling Sketches23.8. Uploading Sketches23.9. Getting Help23.10. Serial Usage23.11. FinallyPart 5 - About the ATMega328P24. ATmega328P Fuses24.1. Low Fuse Bits24.2. Low Fuse Factory Default24.3. Arduino Low Fuse Settings24.4. - High Fuse Bits24.5. High Fuse Factory Default24.6. Arduino High Fuse Settings24.7. Extended Fuse Bits24.8. Extended Fuse Factory Default24.9. Arduino Extended Fuse Settings25. Brown Out Detection26. The Watchdog Timer26.1. WDT Modes of Operation26.2. Amended Sketch setup() function26.3. WDT Reset26.4. The WDT Control Register26.5. Enabling the WDT26.6. Setting the WDT Timeout Period26.7. Disabling the WDT27. The Analogue Comparator27.1. Reference Voltage27.2. Sampled Voltage27.3. Digital Input27.4. Enable the Analogue Comparator27.5. Select Reference Voltage Source27.6. Select Sampled Voltage Source Pin27.7. Sampled Voltage Summary27.8. Comparator Outputs27.9. Comparator Example28. Timer/Counters28.1. Timer/Counter 0 (8 bits)28.2. Timer/Counter 1 (8, 9, 10 and/or 16 bits)28.3. Timer/Counter 2 (8 bits)28.4. Timer/Counter Clock Sources28.5. Timer/Counter Operating Modes28.6. PWM Modes - Duty Cycle28.7. Too Much to Remember? Try AVRAssist29. Counting29.1. Setting External Counting29.2. - Example Sketch30. Timer 1 Input Capture Unit31. Putting the AVR to Sleep31.1. Sleep Modes 23931.2. Analogue Comparator 24632. Power Reduction32.1. Power Consumption32.2. Power Reduction Register32.3. Saving Arduino Power32.4. The Power Functions33. Analogue to Digital Converter (ADC)33.1. ADC Setup and Initiation33.2. Noise Reduction33.3. Temperature Measurement33.4. ADC Example34. USART34.1. Baud Rates34.2. What is a Frame?34.3. Parity34.4. Interrupts34.5. Initialising the USART34.6. USART Checks34.7. USART ExampleAppendices It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Internals takes a detailed dive into the Arduino environment. We’ll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language. What You’ll Learn: - How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;- How the compilation system works, and how kit can be altered to suit personal requirements;- A small amount of AVR Assembly Language;- Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets – which are often bug ridden and unclear;- Alternatives to the Arduino IDE which might give them a better workflow;- How to build their own Arduino clone from scratch.Who This Book Is For: No expertise is required for this book! All you need is an interest in learning about what you’re making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome! bicssc bisacsh Computer input-output equipment Programming languages (Electronic computers) Operating systems (Computers) Computer science Arduino-Plattform (DE-588)7692236-4 gnd rswk-swf Hardcover, Softcover / Informatik, EDV/Hardware Arduino-Plattform (DE-588)7692236-4 s 1\p DE-604 Erscheint auch als Online-Ausgabe 978-1-4842-5790-6 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Dunbar, Norman Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together bicssc bisacsh Computer input-output equipment Programming languages (Electronic computers) Operating systems (Computers) Computer science Arduino-Plattform (DE-588)7692236-4 gnd |
subject_GND | (DE-588)7692236-4 |
title | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together |
title_auth | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together |
title_exact_search | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together |
title_exact_search_txtP | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together |
title_full | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together Norman Dunbar |
title_fullStr | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together Norman Dunbar |
title_full_unstemmed | Arduino Software Internals A Complete Guide to How Your Arduino Language and Hardware Work Together Norman Dunbar |
title_short | Arduino Software Internals |
title_sort | arduino software internals a complete guide to how your arduino language and hardware work together |
title_sub | A Complete Guide to How Your Arduino Language and Hardware Work Together |
topic | bicssc bisacsh Computer input-output equipment Programming languages (Electronic computers) Operating systems (Computers) Computer science Arduino-Plattform (DE-588)7692236-4 gnd |
topic_facet | bicssc bisacsh Computer input-output equipment Programming languages (Electronic computers) Operating systems (Computers) Computer science Arduino-Plattform |
work_keys_str_mv | AT dunbarnorman arduinosoftwareinternalsacompleteguidetohowyourarduinolanguageandhardwareworktogether |