100% found this document useful (5 votes)
146 views

Programming With STM32: Getting Started With The Nucleo Board and C/C++ Donald Norris 2024 Scribd Download

Started

Uploaded by

lusianimlahi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (5 votes)
146 views

Programming With STM32: Getting Started With The Nucleo Board and C/C++ Donald Norris 2024 Scribd Download

Started

Uploaded by

lusianimlahi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Download the full version of the textbook now at textbookfull.

com

Programming With STM32: Getting Started With


the Nucleo Board and C/C++ Donald Norris

https://textbookfull.com/product/programming-with-
stm32-getting-started-with-the-nucleo-board-and-c-
c-donald-norris/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Practical Tinker Board: Getting Started and Building


Projects with the ASUS Single-Board Computer 1st Edition
Elizabeth Clark
https://textbookfull.com/product/practical-tinker-board-getting-
started-and-building-projects-with-the-asus-single-board-computer-1st-
edition-elizabeth-clark/
textbookfull.com

Getting Started with Advanced C# 1st Edition Vaskaran


Sarcar [Sarcar

https://textbookfull.com/product/getting-started-with-advanced-c-1st-
edition-vaskaran-sarcar-sarcar/

textbookfull.com

Getting Started with the micro bit Coding and Making with
the BBC s Open Development Board 1st Edition Wolfram Donat

https://textbookfull.com/product/getting-started-with-the-micro-bit-
coding-and-making-with-the-bbc-s-open-development-board-1st-edition-
wolfram-donat/
textbookfull.com

Indian Art and Culture for Civil Services and other


Competitive Examinations Nitin Singhania [Singhania

https://textbookfull.com/product/indian-art-and-culture-for-civil-
services-and-other-competitive-examinations-nitin-singhania-singhania/

textbookfull.com
Copyright Versus Open Access On the Organisation and
International Political Economy of Access to Scientific
Knowledge 1st Edition Marc Scheufen (Auth.)
https://textbookfull.com/product/copyright-versus-open-access-on-the-
organisation-and-international-political-economy-of-access-to-
scientific-knowledge-1st-edition-marc-scheufen-auth/
textbookfull.com

Textbooks and War: Historical and Multinational


Perspectives Eugenia Roldán Vera

https://textbookfull.com/product/textbooks-and-war-historical-and-
multinational-perspectives-eugenia-roldan-vera/

textbookfull.com

Williams Obstetrics 25th Edition F. Gary Cunningham Et Al.

https://textbookfull.com/product/williams-obstetrics-25th-edition-f-
gary-cunningham-et-al/

textbookfull.com

The Basics: A Comprehensive Outline of Nursing School


Content 8th Edition Kaplan Nursing

https://textbookfull.com/product/the-basics-a-comprehensive-outline-
of-nursing-school-content-8th-edition-kaplan-nursing/

textbookfull.com

Deep Excavations in Soil 1st Edition John Endicott


(Author)

https://textbookfull.com/product/deep-excavations-in-soil-1st-edition-
john-endicott-author/

textbookfull.com
Youth Civic Engagement in a Globalized World: Citizenship
Education in Comparative Perspective 1st Edition Catherine
Broom (Eds.)
https://textbookfull.com/product/youth-civic-engagement-in-a-
globalized-world-citizenship-education-in-comparative-perspective-1st-
edition-catherine-broom-eds/
textbookfull.com
Copyright © 2018 by McGraw-Hill Education. All rights reserved. Except as
permitted under the United States Copyright Act of 1976, no part of this
publication may be reproduced or distributed in any form or by any means, or
stored in a database or retrieval system, without the prior written permission of
the publisher.

ISBN: 978-1-26-003132-4
MHID: 1-26-003132-2

The material in this eBook also appears in the print version of this title: ISBN:
978-1-26-003131-7, MHID: 1-26-003131-4.

eBook conversion by codeMantra


Version 1.0

All trademarks are trademarks of their respective owners. Rather than put a
trademark symbol after every occurrence of a trademarked name, we use names
in an editorial fashion only, and to the benefit of the trademark owner, with no
intention of infringement of the trademark. Where such designations appear in
this book, they have been printed with initial caps.

McGraw-Hill Education eBooks are available at special quantity discounts to use


as premiums and sales promotions or for use in corporate training programs. To
contact a representative, please visit the Contact Us page at
www.mhprofessional.com.

Information contained in this work has been obtained by McGraw-Hill


Education from sources believed to be reliable. However, neither McGraw-Hill
Education nor its authors guarantee the accuracy or completeness of any
information published herein, and neither McGraw-Hill Education nor its
authors shall be responsible for any errors, omissions, or damages arising out of
use of this information. This work is published with the understanding that
McGraw-Hill Education and its authors are supplying information but are not
attempting to render engineering or other professional services. If such services
are required, the assistance of an appropriate professional should be sought.
TERMS OF USE

This is a copyrighted work and McGraw-Hill Education and its licensors reserve
all rights in and to the work. Use of this work is subject to these terms. Except as
permitted under the Copyright Act of 1976 and the right to store and retrieve one
copy of the work, you may not decompile, disassemble, reverse engineer,
reproduce, modify, create derivative works based upon, transmit, distribute,
disseminate, sell, publish or sublicense the work or any part of it without
McGraw-Hill Education’s prior consent. You may use the work for your own
noncommercial and personal use; any other use of the work is strictly prohibited.
Your right to use the work may be terminated if you fail to comply with these
terms.

THE WORK IS PROVIDED “AS IS.” McGRAW-HILL EDUCATION AND


ITS LICENSORS MAKE NO GUARANTEES OR WARRANTIES AS TO
THE ACCURACY, ADEQUACY OR COMPLETENESS OF OR RESULTS
TO BE OBTAINED FROM USING THE WORK, INCLUDING ANY
INFORMATION THAT CAN BE ACCESSED THROUGH THE WORK VIA
HYPERLINK OR OTHERWISE, AND EXPRESSLY DISCLAIM ANY
WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR
A PARTICULAR PURPOSE. McGraw-Hill Education and its licensors do not
warrant or guarantee that the functions contained in the work will meet your
requirements or that its operation will be uninterrupted or error free. Neither
McGraw-Hill Education nor its licensors shall be liable to you or anyone else for
any inaccuracy, error or omission, regardless of cause, in the work or for any
damages resulting therefrom. McGraw-Hill Education has no responsibility for
the content of any information accessed through the work. Under no
circumstances shall McGraw-Hill Education and/or its licensors be liable for any
indirect, incidental, special, punitive, consequential or similar damages that
result from the use of or inability to use the work, even if any of them has been
advised of the possibility of such damages. This limitation of liability shall apply
to any claim or cause whatsoever whether such claim or cause arises in contract,
tort or otherwise.
About the Author

Donald J. Norris has a degree in electrical engineering and an MBA


specializing in production management. He is currently an adjunct professor
teaching an Embedded Systems course in the College of Engineering,
Technology and Aeronautics, part of the Southern New Hampshire University
(SNHU). He has also taught many different undergrad and grad courses mainly
in the computer science and technology areas at SNHU and other regional
schools for the past 33 years. Don created and taught the initial robotics courses
at SNHU both on-campus and online.
Don retired from civilian government service with the U.S. Navy, where he
specialized in underwater acoustics related to nuclear submarines and associated
advanced digital signal processing systems. Since then, he has spent more than
23 years as a professional software developer using the C, C#, C++, Python,
Micro Python, Node.JS, JavaScript, PHP, and Java languages in varied
development projects. He also has been a certified IT security consultant for the
last six years.
He has written and had published seven books including three involving the
Raspberry Pi, one on how to build and fly your own drone, a book on the Intel
Edison, one on the Internet of Things, and one on Micro Python.
Don started a consultancy, Norris Embedded Software Solutions (dba NESS
LLC), which specializes in developing application solutions using
microcontrollers, sensors, and actuators. The business has also recently
completed several robotics projects for clients.
Don likes to think of himself as a perpetual hobbyist and geek and is
constantly trying out new technologies and out-of-box experiments. He is a
licensed private pilot, photography buff, amateur extra class operator, avid
runner, and most importantly, a proud grandfather of three great kids,
Evangeline, Hudson, and Holton.
This book is dedicated to Dr. Peter Kachavos, my son-in-law, who is a
remarkably intelligent man with an equally remarkable long medical career in
service to his patients and the community. Until recently, Peter was a practicing
internist with an office in Manchester, NH. He recently retired after 25 years
from that practice and soon will be pursuing other interesting opportunities in
the medical field.

Peter enjoys cooking, fine wine, traveling, and spending quality time with his
family. His wife is my daughter, Shauna, and their child is my two-year-old
granddaughter, Evangeline.

Peter and I have spent many hours discussing many topics ranging from ancient
Greek artifacts to the latest technologies impacting modern society. I always
look forward to those interesting and challenging discussions.
CONTENTS AT A GLANCE

1 Introduction to the STMicroelectronics Line of Microcontrollers

2 STM MCU Software

3 STM32CubeMX Application

4 STM Project Development

5 General-Purpose Input Output (GPIO) and the STM Hardware Abstraction


Layer (HAL)

6 Interrupts

7 Timers

8 Bit Serial Communications

9 Analog-to-Digital Conversion

10 Pulse Width Modulation (PWM)

11 Direct Memory Access (DMA) and the Digital-to-Analog Converter (DAC)

Index
CONTENTS

Preface

1 Introduction to the STMicroelectronics Line of Microcontrollers


Microcomputer vs Microcontroller
STM Nucleo Boards
Principal MCU Components
Bit Serial Ports
Nucleo-64 Board Options
Summary

2 STM MCU Software


Open-Source versus Commercial Proprietary Software
Bare Metal Development
Brief History of MCU
The MCU Toolchain
Configuring a STM32 Toolchain
Summary

3 STM32CubeMX Application
Pinout Tab
MCU Alternative Functions
Integrated Peripheral (IP) Tree Pane
Creating an Example Project using CubeMX
The main.c Code Listing
ARM Cortex Microcontroller Software Interface Standard (CMSIS)
CubeMX-Generated C Code
Compiling and Downloading the Project
Downloading the Hex Code
Summary

4 STM Project Development


Hello World Project
Creating the Hello Nucleo Project
Adding Functionality to the Program
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Compiling and Executing the Modified Program
Simple Modification for the main.c Function
Complex Modification for the main.c File
Summary

5 General-Purpose Input Output (GPIO) and the STM Hardware


Abstraction Layer (HAL)
Memory-Mapped Peripherals
Core Memory Addresses
Peripheral Memory Addresses
HAL_GPIO Module
GPIO Pin Hardware
LED Test Demonstration
Enabling Multiple Outputs
Push-Button Test Demonstration
Clock Speed Demonstration
Setting the Pin Clock Speeds
Summary

6 Interrupts
Interrupts
NVIC Specifications
Interrupt Process
External Interrupts
Interrupt Demonstration
Summary

7 Timers
STM Timer Peripherals
STM Timer Configuration
Update Event Calculation
Polled or Non-interrupt Blink LED Timer Demonstration
Test Run
Interrupt-Driven Blink LED Timer Demonstration
Test Run
Multi-rate Interrupt-Driven Blink LED Timer Demonstration
Test Run
Modification to the Multi-rate Program
Test Run
Summary

8 Bit Serial Communications


UARTs and USARTs
USART Configuration
Windows Terminal Program
Enabling USART2
USART Transmit Demonstration Program
Test Run
USART Receive Demonstration Program
Test Run
Summary

9 Analog-to-Digital Conversion
ADC Functions
ADC Module with HAL
ADC Conversion Modes
Channels, Groups, and Ranks
ADC Demonstration
ADC Demonstration Software
Summary

10 Pulse Width Modulation (PWM)


General-Purpose Timer PWM Signal Generation
Timer Hardware Architecture
PWM Signals with HAL
Enabling the PWM Function
PWM Demonstration Software
Demonstration One
Demonstration Two
Demonstration Three
Demonstration Four
Adding Functional Test Code
Test Results
Summary

11 Direct Memory Access (DMA) and the Digital-to-Analog


Converter (DAC)
DMA
Basic Data Transfer Concepts
DMA Controller Details
Using HAL with DMA
Demonstration One
DAC Peripheral
DAC Principles
HAL Software for the DAC
Demonstration Two
Demonstration Three
Summary
PREFACE

This book will serve both as an introduction to the STMicroelectronics line


of STM32 microcontrollers (MCUs) and also as an easy-to-follow Getting
Started Guide for readers interested in developing with a STM MCU. I will be
using one of the very inexpensive STM Nucleo-64 development boards for all of
the book projects, which should make it inviting for most readers to become
involved with the hardware. In fact, doing the book demonstration projects is
really the only way you can really be assured that you have gained a good
comprehension of the material in this book.
I will state from the beginning that it is simply not possible to gain a total
understanding of how a STM MCU functions by only reading this book. The
manufacturer datasheets that describe individual STM MCUs are often over
1,000 pages in length, which describes the enormity of the task of trying to
master the voluminous amount of information that describes these devices.
Instead, the book contents focus on a few of the core components that make up a
STM MCU and how to program those components to accomplish fairly simple
tasks.
Some readers will have trepidation about starting to develop with what are
typically considered professional grade MCUs. I wish to allay that fear and state
that I have found that developing applications with at least one representative
sample STM MCU to be remarkably easy and straightforward. In fact, I will
state that in some aspects it is easier to develop with a STM MCU than with an
Arduino or Raspberry Pi, which many readers will already be quite familiar and
probably have already created projects with those boards.
Often, the single biggest issue with developing with MCUs is setting up a
stable development toolchain. I will describe how to do this in a simple to
follow, step-by-step process, which if you rigorously follow will guarantee that
you will be able to quickly and without much trouble generate working binary
programs. These programs will then be quickly downloaded into the
development board for execution.
1
Introduction to the
STMicroelectronics Line of
Microcontrollers

This chapter provides you with an introduction to the very comprehensive


STMicroelectronics (STM) line of microcontrollers (MCUs). I will be focusing
only on several specific controllers throughout the book, but that should provide
you with an adequate representation of the functions and capabilities of the full
line of STM MCUs.

Microcomputer vs Microcontroller
I believe at the start of this book that it must make very clear the differences
between a microcomputer and a MCU. The reason for this distinction is very
simple: STM is a company that designs and manufacturers MCUs, not
microcomputers. I think my following definition of a MCU is as good as any
that I have read:

A microcontroller is an integrated system containing a minimum of a


microprocessor, dynamic and non-volatile memory, and a set of peripherals
consistent with all design requirements.

Right away, you can see from the definition that a MCU contains a
microprocessor which is sometimes referred to as a microcomputer. There also
must be both dynamic or volatile memory as well as nonvolatile or static
memory, where the latter holds any programs or scripts necessary to run the
microprocessor. Finally, there are always peripherals added to the design that
allow for the input and output of digital signals. There are often additional
peripherals such as timers, interrupt controllers, serial data ports, and a variety of
others depending upon what requirements the MCU must meet.
I discuss all the principal MCU components below to provide you with a solid
background to understand how a MCU functions. Most of the following
explanations are based on the voluminous amount of information provided by
STM on their microcontrollers. The reason behind STM providing such a large
amount of information is to allow engineers/software developers access to all the
data they need in order to incorporate STM products into original equipment
manufacturer (OEM) designs and products. This approach is fundamentally
different than the approach taken by suppliers of maker style boards and
products, such as the Arduino, Raspberry Pi, BeagleBone, and so forth. In the
case of the latter, board documentation is geared toward how to use a board in a
project. The STM data is extremely specific describing items such as the
nanosecond timing pulses between memory chips and processor buses. This is
exactly the reason why some of the STM MCU datasheets are over 1,100 pages
in length. Fortunately, the datasheet for the primary STM MCU I will be using in
this book is only 138 pages. I will provide later in this chapter the website where
you can download the datasheet.

STM Nucleo Boards


MCU manufacturers such as STM have long recognized that they just couldn’t
provide only chips to potential customers as most would have no way to
effectively evaluate them for potential use in their products. This is the reason
why the manufacturers offer relatively low-cost evaluation and demonstration
boards, which have representative MCUs all setup and ready to run. STM offers
a series of such boards that it calls the Nucleo line. I will be using a fairly simple
Nucleo-64 board for the book projects. STM has actually embraced the maker
community by marketing the Nucleo lineup as boards suitable for maker project
use. These boards are very inexpensive, usually about US$10–15, which leads
me to believe that STM is striving to gain a foothold in the maker community by
actually subsidizing the manufacturing costs for the boards. In any case, this is a
boon for makers and hobbyists and one that we should embrace.
Figure 1-1 shows the three basic Nucleo boards available at the time of
writing this book.
Figure 1-1 Three basic Nucleo boards.

The boards are named Nucleo-32, Nucleo-64, and Nucleo-144 from left to
right, respectively, as shown in Figure 1-1. The number in each name represents
the number of pins present in the MCU chip. Nucleo-64 is the principal board
used in this book.

Principal MCU Components


The first component to consider is the processor or microcomputer.

Processor
The processor used in Nucleo-32 and Nucleo-64 boards is the ARM Cortex M-4
32-bit processor. It too has a lengthy 278-page user guide available from
infocenter.arm.com/help/topic/com.arm.doc.dui0553a/DUI0553A_cortex_m4_dgug.pdf
The actual processor circuitry is part of the STM MCU because STM has
purchased intellectual property (IP) rights from the ARM Corporation in order to
integrate it into its chips. However, for all practical purposes, the ARM
processor is programmed using the tools and techniques promulgated by the
ARM Corporation to support its processor IP. This distinction is of no
consequence in our case because the software tools to be used for the book
projects have all been carefully crafted and tested to work seamlessly together by
STM. Any license issues have already been resolved without bothering the end
user.
The following list contains some of the important specifications for the
Cortex M-4 processor for interested readers:
• Full-featured ARMv7-M instruction set, optimized for embedded
applications
• Floating point unit (FPU)
• Low-power 32-bit processor
• Memory protection unit (MPU)
• Nested vector interrupt controller (NVIC)
• Trace, breakpoint, and JTAG capabilities
• Advanced Microcontroller Bus Architecture (AMBA)
• Advanced High-Performance Bus (AHB5, AHB-Lite)

There are many more features to the Cortex M-4 processor as the 278-page
user guide would suggest. I would also recommend Joseph Yiu’s book, The
Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors, Third
Edition, to readers who really want to delve into this processor to a great depth.
Figure 1-2 is a block diagram of the Cortex M-4 processor showing all of the
listed items and more.
Figure 1-2 ARM Cortex M-4 block diagram.

STM is responsible for the design and implementation of all components


outside of the box shown in Figure 1-2. Of course, the STM design must be
compliant with the ARM processor specifications. One item missing in the
figure is a clock input. The reason for it being missing is that the block diagram
is from the ARM Cortex M-4 user guide, while the clock circuitry is the
responsibility of STM, the MCU designer. STM has set the base processor clock
frequency at 72 MHz, which appears to be very low in today’s world of multi-
gigahertz clock rates for most PCs. In fact, the latest Raspberry Pi model 3 has a
1.2-GHz clock rate. But first appearances are deceiving in this case. The Cortex
M-4 processor uses an extremely efficient instruction set, with three-stage
pipelining, which maximizes the performance of the underlying reduced
instruction set computing (RISC) that the processor employs. In addition, many
common microcontroller tasks, which I discuss below, have been implemented
in a combination of hardware and firmware, further improving the overall
performance, while keeping the power consumption as low as possible. Power
consumption and performance are two key microcontroller attributes that system
designers always keep in mind. Keeping the clock rate as low as possible will
always minimize the power consumed as well as increase the longevity of the
chip.

Memory
The Cortex M-4 processor uses a Harvard architecture. This means that program
instructions are stored and retrieved from a memory separate and distinct from
the memory that holds data. The other common computer architecture is named
von Neumann in which instructions and data share a common memory. MCUs
have very limited memory and take advantage of the speed-up available by using
concurrent instruction and data access. Additionally, having separate memories
means that the processor is no longer constrained to the same sized data widths.
This means instructions can be fetched and executed in 4-byte chunks or 32 bits,
while data can be simultaneously handled with 1-byte or 8-bit chunks, thus
speeding up the overall throughput to and from the processor and memory.
Another advantage the Harvard architecture has over the von Neumann form is
that instruction prefetches can now be done in parallel with regular instruction
executions, thus further speeding up the overall system performance. Finally,
concurrent instruction and data access eliminates the need for data caches, which
are typically used in von Neumann machines. This further reduces system
complexity and power consumption.
The Nucleo-64 board used in this book is the STM MCU, model number
STM32F302R8. This chip has a 64-KB flash memory and a 16-KB static
random access memory (SRAM). Yes, those are kilobytes, not mega- or
gigabytes. You cannot expect to create any graphical programs that run in this
limited memory space. Microcontroller programs are truly a throwback to the
earliest days of computing where memory was very limited and developers had
to use every available byte to store and execute programs. Having mentioned the
scarce memory resources, you will be able to use a variety of modern-day
graphic-based programs to develop the MCU program, but they will run on a
PC. The compiled and optimized binary code will be downloaded into the MCU
from the PC.
It turns out that 64 KB is plenty of space to run fairly large programs because
the C/C++ cross-compiler used for this book’s projects produces optimize code,
eliminating all but the essential instructions needed for the program. The 16-KB
SRAM size is more than adequate for the dynamic memory requirements to
support a maximum 64-KB sized program. The actual memory is integrated onto
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
the MCU chip and its type is largely irrelevant for our purposes.

Peripherals
The peripherals are what make the MCU viable for its intended purposes. In my
microcontroller definition I stated, “a set of peripherals consistent with all design
requirements.” This means that microcontrollers typically have different
peripheral configurations depending upon the requirements they are designed to
meet. This is a major reason why STM manufactures such a wide variety of
MCUs. I will focus on the Nucleo-64 microcontroller I mentioned above and
will use its set of peripherals as my discussion points. I will next need to
demonstrate how the Nucleo-64 board is set up in order to fully explain how all
the peripheral features function with this board.

Nucleo-64 Board Layout


Figure 1-3 is a block diagram showing how the major components that make up
a Nucleo-64 board are configured.
Figure 1-3 Nucleo-64 block diagram.

The first item you should note is that the board is actually made of two
sections, the top section being a ST-LINK/V2-1 programmer and the bottom
section is the STM32 MCU. The bottom section is also fitted with two sets of
connectors. One set is compatible with the Arduino shield pin configuration and
other set is the ST Morpho pinout configuration. There are two push buttons, B1
and B2, shown in the figure. B1 is multipurpose, while B2 is the reset push
button. There is also one LED indicated in the figure; however, there are several
others also which are shown in follow-on figures. The programmer section may
be separated from the microcontroller section by snapping the sparse printed
circuit board (PCB) joints, which can be seen in Figure 1-1. I would not
recommend doing so because you would lose all programming capability for the
MCU section. I suppose it was set up in this fashion so you could separate the
sections once there was a working MCU for a specific project and there was no
need for any further programming.
Figure 1-4 is a top view of the Nucleo-64 board with most of the components
clearly annotated.

Figure 1-4 Annotated top view of the Nucleo-64 board.

Remarkably, there are relatively few components on the board. Most of the
space is taken up by connectors, push buttons, configuration jumpers, LEDs, and
the microcontroller chip. This sparse layout reflects the nature of the MCU,
which is to be an embedded device without any of the niceties needed for the
human-computer interface (HCI). HCI is possible with this board by using an
appropriate extension board that plugs into this board
Figure 1-5 shows the bottom side of the Nucleo-64 board.

Figure 1-5 Annotated bottom view of the Nucleo-64 board.

Not much to see in this figure other than a bunch of 0-ohm resistors that may
be removed if it was desired to disable certain features such as the reset and user
buttons and user LED, or make hardware configuration changes to the ST-LINK
programmer.
Figure 1-6 is much more interesting as it shows the pinouts for all the
connectors on the top of the Nucleo-64 board.
Figure 1-6 Nucleo-64 pinout diagram.

There are two sets of pinouts shown in Figure 1-6, one belonging to the
Arduino and the other to the ST Morpho. Connectors CN5, CN6, CN8, and CN9
belong to the Arduino set. Connectors CN7 and CN10 belong to the Morpho set.
It is important to note that there are no one-to-one relationships between the sets.
The Morpho connectors are two double rows of 38 pins for a total of 76 pins.
The Arduino connectors are single-row connectors totaling 32 pins in all spread
across four connectors.

Arduino Connectors
Tables 1-1 to 1-4, which are from the Nucleo-64 User Guide, detail the Arduino
connectors with cross-references between Arduino pin terms and STM32 pins. I
have provided further clarifications on some of the pin functions following each
table, where I felt it was appropriate.
Random documents with unrelated
content Scribd suggests to you:
Seul, j’hésitai à regagner mon logis. J’étais gelé: j’avais envie de prendre
un peu d’alcool pour me réchauffer. Comme je passais dans la première
cour, j’aperçus de la lumière au troisième étage, aux fenêtres d’un
appartement qu’habitait un prince géorgien que je connaissais. Je montai
donc chez lui. Il y avait nombreuse compagnie; on buvait et on jouait aux
cartes. Je m’assis à une table de bridge et jouai assez longtemps avec la
malchance qui m’est coutumière.
Vers trois heures, enfin, fatigué, je pris congé.
Il faisait plus froid encore qu’à minuit: le ciel noir était criblé d’étoiles;
le vent me coupait la figure. L’alcool dans les thermomètres devait
descendre au-dessous de trente degrés Réaumur. Devant la porte, sur la
Fontanka, des bûches brûlaient dans un brasero. Un dvornik, enfoui sous
une épaisse touloupe et qui n’avait plus forme humaine, somnolait sur un
banc près du feu.
Je fis quelques pas vers la Perspective Nevski pour trouver un
izvostchik. Je fus bien surpris de voir à quelque distance de moi une femme
marcher, de tournure élégante. «Qui diable, me dis-je, peut être dehors à
pied, si tard, par cette nuit glaciale?» Et comme je la dépassais, je me
retournai pour la dévisager. Le hasard voulut qu’à ce moment-là elle se
trouvât sous un réverbère. Je reconnus Sonia. Elle me vit et sa surprise fut
aussi grande que la mienne, mais je devinai sur-le-champ que cette
rencontre ne lui causait aucun plaisir.
—Au nom des dieux, que faites-vous ici? lui dis-je en la prenant par le
bras.
Elle hésita un instant. Elle se demandait sans doute si elle allait se fâcher
et m’envoyer promener. Mais elle haussa les épaules et se mit à rire.
—Et vous? dit-elle. Quel coureur vous êtes! Une femme ne vous suffit
donc pas pour une nuit?
—Je suis entré chez Tamamchef en vous quittant, répondis-je. J’ai joué
au bridge et j’ai perdu. Cela n’a pas d’intérêt. Mais vous, Sonia
Grigorievna, expliquez-moi pourquoi je vous retrouve ici. Je vous croyais
depuis longtemps endormie. Y a-t-il eu un drame chez vous? Makharof
vous a-t-il chassée?
Et je me demandais avec un peu d’inquiétude si je n’avais pas une part
de responsabilité dans ces événements surprenants et si ce qui s’était passé
chez moi n’était pas la cause directe qui avait mis Sonia sur le trottoir, à
trois heures du matin.
Je sentais sous mon bras trembler le bras de la jeune femme.
—Mais vous mourez de froid, dis-je. Rentrons vite à la maison. Je vous
offre volontiers l’hospitalité.
—Non, fit-elle, je n’irai pas chez vous. Je rentrerai dans mon
appartement tout à l’heure, comme je le voudrai. Il n’y a aucun drame; je
suis ici de mon propre gré. Si cela ne vous ennuie pas, tenez-moi
compagnie un instant.
—Mais vous êtes folle, chère amie, folle à lier. Ce quai serait notre
tombeau. Remontez chez vous ou venez chez moi.
—Non, non, reprit-elle avec obstination. Je ne puis rentrer encore. Il faut
attendre un peu.
Il y avait dans sa voix un accent si étrange que je me sentis pris d’une
grande curiosité. Qu’est-ce qui pouvait retenir cette élégante et délicate
femme à trois heures du matin sur le quai de la Fontanka, par une des nuits
les plus froides de l’hiver? Et je voulais savoir tout de suite le mot de cette
énigme.
A ce moment, un coup de vent nous enveloppa. Nous étions gelés
jusqu’à la moelle des os.
—Sonia Grigorievna, dis-je avec fermeté, je ne vous laisserai pas ici.
Allons où vous voudrez, mais mettons-nous à l’abri. Y a-t-il encore un
cabaret ouvert?
—Tout est fermé, dit-elle, se rendant enfin. Soit, allons chez vous. Mais
nous garderons l’izvostchik, car je veux rentrer vers quatre heures.
Nous nous dirigeâmes vers Nevski, sans parler. Comme nous arrivions
près du pont, un traîneau nous croisa. Derrière le cocher, un homme était
assis, enveloppé d’une fourrure dont le col relevé montait jusqu’aux yeux,
rejoignant le bonnet enfoncé sur le front et sur les oreilles.
Sonia Grigorievna eut un sursaut. Elle s’arrêta net, se retourna et suivit
des yeux le traîneau. Il fit halte un peu plus bas devant l’immeuble Tolstoï.
—Eh bien, dis-je impatienté, marchons.
—Non, fit-elle, c’est inutile maintenant.
Et ses yeux restaient fixés sur le traîneau à une centaine de pas de nous.
L’homme en descendit, remit un billet à l’izvotschik et disparut.
—Je n’irai pas chez vous, me dit Sonia. Mais je n’oublierai pas que vous
avez été très gentil aujourd’hui et j’y reviendrai, si vous voulez encore de
moi, mon cher.
Elle me sourit, tournant vers moi un fin visage qui était d’une extrême
pâleur.
—Donnez-moi encore une minute, continua-t-elle.
Et, sous un réverbère, elle sortit de son sac à main sa boîte de fard et un
petit miroir qu’elle me tendit.
—Voulez-vous me tenir ce miroir? fit-elle.
Je le pris et elle commença à se mettre un peu de rouge. Puis elle se
passa une houppette de poudre de riz sur le nez.
—Suis-je bien ainsi? demanda-t-elle, lorsqu’elle eut fini.
J’étais exaspéré. Vous me voyez aidant cette folle à faire sa toilette entre
trois et quatre heures du matin, sur un quai, par un froid sibérien. Et puis je
ne comprenais rien à la scène qu’elle me jouait.
—Je ne vous quitterai pas, fis-je, avant que vous m’expliquiez ce que
tout cela signifie.
—Pas aujourd’hui, dit-elle avec une légère caresse de la main sur ma
joue. Une autre fois, peut-être. Qui sait?
Déjà elle m’échappait.
Je rentrai chez moi, pestant contre les incompréhensibles caprices des
femmes russes.
Je n’eus pas longtemps à attendre pour satisfaire ma curiosité. Chose
bizarre, j’avais pris ce soir-là un goût beaucoup plus vif pour Sonia
Grigorievna. Je n’aime pas les gens tout simples et en qui l’on voit au
premier coup d’œil. Ne l’eussé-je pas rencontrée sur la Fontanka, je
n’aurais peut-être plus pensé à elle. Maintenant, au contraire, je voulais
connaître son histoire. Je m’attachai à Sonia et, peu de semaines après, elle
avait quitté l’appartement de Makharof pour habiter le mien. Je passe sous
silence la vie que nous menâmes à deux pendant quelques mois. Elle fut
assez curieuse et, bien que déchirée, m’a laissé un agréable souvenir. Mais
je veux seulement vous raconter puisque les femmes russes vous
intéressent, pourquoi Sonia Grigorievna se promenait sur la Fontanka par
cette nuit si froide de janvier.
Elle me le dit elle-même un jour, poussée par l’impérieux désir qu’ont
les femmes de ce pays de parler de leur passé et d’évoquer, infernales
nécromanciennes, entre les bras de leur amant, les ombres de ses
prédécesseurs.
—Il y avait longtemps, me dit-elle, que je n’aimais plus Makharof quand
je t’ai rencontré. Je savais qu’il me trompait; cela m’était indifférent. Je ne
lui cachais pas que je lui étais infidèle. Il affectait de n’y attacher aucune
importance; mais j’étais certaine qu’il ne croyait pas ce que je lui disais. Il
se persuadait que je l’aimais toujours et que je mentais pour le simple
plaisir de le faire enrager. Il ne pouvait imaginer qu’un homme tel que lui
ne fût pas adoré. J’avais beau lui donner des détails précis, il n’y ajoutait
aucune créance. Et d’abord cela m’exaspéra. Puis, en pensant sans fin à ce
sujet, mes idées changèrent, je me dis: «S’il est sûr d’être aimé, c’est peut-
être qu’au fond il m’aime encore. Sans doute, il a des maîtresses
d’occasion, des passades, mais c’est à moi qu’il revient toujours; c’est avec
moi qu’il habite; c’est moi qu’il veut trouver dans l’appartement quand il
rentre.» Et dès lors, je ne m’intéressai plus qu’à une chose: savoir s’il
m’aimait ou non. Il y avait un point sur lequel je le voyais très sensible: il
tenait à ce que je fusse à la maison quand il lui plaisait d’y revenir. Note, en
passant, que quand nous nous retrouvions, c’était le plus souvent pour nous
quereller. Naturellement, il avait mille raisons ingénieuses pour expliquer
pourquoi je devais l’attendre. Il fallait que le samovar fût prêt: je devais
veiller à ce que les poêles chauffassent bien, etc., etc. Moi, qui avais
compris tout cela, je m’arrangeais le plus souvent possible, et surtout le
soir, pour ne pas être chez nous à l’heure où Makharof rentrait. Je me
représentais Makharof me cherchant dans l’appartement, allant de pièce en
pièce, m’appelant et, finalement, ivre de fureur, cassant quelque meuble.
Les yeux de Sonia brillaient de plaisir au souvenir des tortures qu’elle
avait fait subir à son amant.
—Le jour où j’ai dîné ici, continua-t-elle, Makharof m’avait dit en
sortant qu’il serait rentré à minuit et qu’il voulait avoir quelque chose à
manger avant de travailler. Tu te souviens que j’eus grand soin de ne
retourner chez moi qu’à une heure du matin. Mais tu peux imaginer ma
colère quand tu sauras que je ne trouvai personne à la maison. Je n’hésitai
pas un instant, je remis ma fourrure et sortis...
—Et tu es restée ainsi deux heures dehors, risquant la mort, pour la seule
et maigre satisfaction de penser au désappointement de Makharof lorsqu’il
rentrerait dans un appartement où tu n’étais pas. Mais c’est absurde, ma
chère Sonia!...
Elle me regarda stupéfaite.
—Tu es Français, me dit-elle en haussant les épaules.
Elle n’ajouta rien, comme si ce simple mot suffisait à évoquer l’abîme
qui nous séparait.
Mais je me piquai:
—Je comprends bien plus et bien mieux que tu ne l’imagines, repris-je.
Je comprends que tu l’aimais encore, bien que tu ne voulusses pas te
l’avouer. Sans doute, il t’aimait aussi. Et vous jouiez à cache-cache. Mais le
diable m’emporte si j’ai jamais vu des gens qui missent un tel enjeu à la
partie. Tu sais que tu risquais ta vie ce soir-là, sur la Fontanka.
Elle ne répondit rien. Et il y eut entre nous un long silence. C’est moi qui
le rompis.
—Et quand tu es entrée, dis-je, que s’est-il passé? Tu as eu ta scène sans
doute, la scène que tu attendais, la scène que tu voulais provoquer, qui
t’était aussi indispensable pour finir la journée et dormir tranquille qu’une
dose d’opium à l’opiomane.
Sonia sourit.
—Non, fit-elle, il n’y eut aucune scène et la fin de mon histoire est bien
plus surprenante. Je te la raconterai puisque tu parais prendre plaisir à ces
folies. Tu te souviens que je suis rentrée peut-être cinq minutes après
Makharof. Eh bien, je te donne en mille de deviner comment je l’ai trouvé...
L’appartement était sombre, pas une pièce n’était éclairée; Makharof était
déjà couché, et il dormait à poings fermés. Il dormait!... Tu comprends bien
que je n’ai pas été sa dupe. Il feignait de dormir. Il voulait ainsi me faire
sentir qu’il lui était complètement indifférent que je fusse là ou que je n’y
fusse pas, que je pouvais découcher si bon me semblait, pourvu que son
sommeil n’en fût pas dérangé... Oui, mais moi je ne pouvais m’empêcher de
rire en pensant à la hâte fébrile avec laquelle il s’était déshabillé, sans
même fumer une dernière cigarette, sans même faire sa toilette, de façon à
pouvoir paraître endormi si, par hasard, j’arrivais sur ses talons. Et je
réfléchissais à la comédie qu’il me jouait ainsi. Il voulait se donner l’air—et
à quel prix!—d’être indifférent. Il ne l’était donc pas. Je vis clair tout d’un
coup. Cette fois-ci je savais la vérité: j’avais la preuve qu’il m’aimait
encore. Ah! je ne puis te dire combien j’étais heureuse. Toutes les
souffrances que le froid m’avait fait endurer pendant les deux mortelles
heures d’attente sur la Fontanka étaient payées et largement... Et vois-tu,
tout Français que tu es, tu avais peut-être raison tout à l’heure. Jusqu’à ce
jour-là, tant que je doutais de lui, je l’aimais encore, sans doute. Mais, à
partir de la minute où j’ai été fixée sur ses sentiments, il a perdu tout intérêt
pour moi. Il est devenu soudain comme s’il n’était pas; je ne pouvais même
arriver à comprendre comment j’étais restée attachée si longtemps à cet être
brutal... La suite, tu la connais, et la preuve que je dis vrai, tu l’as devant
toi, puisque je suis ici maintenant.

TABLE DES MATIÈRES


Nadia. 5
Vera Alexandrovna. 89
Sonia Grigorievna. 125
ACHEVÉ D’IMPRIMER
LE 16 OCTOBRE 1922
PAR F. PAILLART, A
ABBEVILLE (SOMME)
Dernières Publications de la Librairie BERNARD GRASSET
61, rue des Saints-Pères, PARIS

Claude Anet:
Petite Ville 6 75
Quand la terre trembla,
6 75
rom.
L’Amour en Russie 5»
Emile Baumann:
L’Immolé, roman (2 vol.) 10 »
La Fosse aux Lions, roman 6 75
Le Baptême de Pauline
6 75
Ardel, roman
Trois villes saintes (Ars-
en-Dombes, Mont-Saint-
6 75
Michel, St-Jacques de
Compostelle)
Alphonse de
Chateaubriant:
Monsieur des Lourdines,
6 75
rom.
Jacques Chenevière:
Jouvence ou la Chimère,
6 75
rom.
Emile Clermont:
Laure, roman 6 75
Benjamin Crémieux:
Le Premier de la classe,
6 75
rom.
Jean Giraudoux:
Simon le pathétique,
6 75
roman
Provinciales, nouvelles 6 75
L’Ecole des Indifférents 6 75
Louis Hémon:
Maria Chapdelaine,
6 50
roman
Paul Gsell:
Les matinées de la villa
Saïd. Propos d’Anatole 6 75
France
Georges Imann:
Les Nocturnes, roman 6 75
Léon Lafage:
Les Abeilles mortes, roman 6 75
François Mauriac:
Le baiser au Lépreux 5»
André Maurois:
Les Silences du Colonel
5 75
Bramble
Les Discours du docteur
6 75
O’Grady
Jeanne Maxime-David:
La Victoire des dieux lares 6 75
Paul Reboux et
Charles Muller:
A la Manière de... Les 3
séries en 2 vol., chaque 5 75
vol.
André Savignon:
Les Filles de la Pluie 6 75
Jacques Sindral:
La Ville éphémère, roman 6 75
André Thérive:
Le Voyage de M. Renan,
6 75
rom.
GRAND PRIX
BALZAC
———
Jean Giraudoux:
SIEGFRIED ET LE
LIMOUSIN
Prix 6 75
Emile Baumann:
JOB LE PRÉDESTINÉ
Prix 7»

LES CAHIERS VERTS


Publiés sous la direction de Daniel Halévy
———
Cahiers non épuisés:

Cinquième cahier.—Émile Clermont: Le Passage de l’Aisne 5»


Sixième cahier.—Logan Pearsall Smith: Trivia 5»
Septième cahier.—Louis Bertrand: Flaubert à Paris 6»
Dixième cahier.—Marie Lenéru: Saint-Just 5»
Onzième cahier.—Pierre Lasserre: Philosophie du goût 5»
musical
Douzième cahier.—Robert Browning: Poèmes, avec une étude
sur la pensée et la vie de l’auteur par Mary Duclaux 6»

Treizième cahier.—George Moore: Mémoires de ma vie morte 650

Typ. Grou-Radenez.—Paris.
*** END OF THE PROJECT GUTENBERG EBOOK L'AMOUR EN
RUSSIE ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived


from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted


with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this


electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,


the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.

You might also like