Source: https://www.eng.auburn.edu/~nelson/courses/elec3040_3050/C programming for embedded system applications.pdf