If ever there was a piece of embedded software ripe for
reuse it's the memory test. This article shows how to test for
the most common memory problems with a set of three efficient,
portable, public-domain memory test functions.
CRCs are among the best checksums available
to detect and/or correct errors in communications transmissions.
Unfortunately, the modulo-2 arithmetic used to compute CRCs doesn't map easily into software. This article shows how to implement an efficient CRC in C.
Checksum algorithms based solely on addition are easy
to implement and can be executed efficiently on any microcontroller. However, many common
types of transmission errors cannot be detected when such simple
checksums are used. This article describes a stronger type
of checksum, commonly known as a CRC.
Most control systems utilize feedback in some manner.
Here's a look at several fundamental feedback mechanisms, culminating
in a description of a basic PID controller.
Finite impulse response (FIR) filters are the most popular
type of filters implemented in software. This introduction will
help you understand them both on a theoretical and a practical
level.
Whenever you connect two or more computers together with
the intent of exchanging information, you assume that the exchange
will take place without errors. But what if some of the data is
lost or corrupted in transit? Communication protocols usually
attempt to detect such errors automatically. To do that they use
checksums.