Embedded Systems Building Blocks: Complete and Ready-to-Use Modules in C / Edition 2

Hardcover (Print)
Buy New
Buy New from BN.com
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 97%)
Other sellers (Hardcover)
  • All (11) from $1.99   
  • New (4) from $29.99   
  • Used (7) from $1.99   


- This second edition features revisions that support the latest version of the author's popular operating system and book, MicroC/OS-II - Complete and ready-to-use modules in C Get a clear explanation of functional code modules and microcontroller theory

Read More Show Less

Product Details

  • ISBN-13: 9780879306045
  • Publisher: Taylor & Francis
  • Publication date: 1/12/1999
  • Edition description: REV
  • Edition number: 2
  • Pages: 640
  • Product dimensions: 8.32 (w) x 10.27 (h) x 1.81 (d)

Meet the Author

Jean J. Labrosse is a senior technical staff member at Dynalco Controls in Fort Lauderdale, Fla. He has a master's degree in electrical engineering and has been designing embedded systems for many years. Labrosse is the author of the popular operating system and book MicroC/OS-II: The Real-Time Kernel. He has written articles for numerous magazines, and is a regular lecturer and advisory board member for the Embedded Systems Conference.

Read More Show Less

Table of Contents

What's new in the Second Edition?
Intended Audience
What Will You Need to Use this Book?
Figure, Listing, and Table Conventions
Source Code Conventions
Chapter Contents
Web Site
Sample Code
Installing Embedded Systems Building Blocks
How Each Chapter Is Organized
Complier Independent Data Types
Global Variables
ESBB Sample Code
Real-Time Systems Concepts
Foreground/Background Systems
Critical Section of Code
Shared Resource
Context Switch (or Task Switch)
Non-Preemptive Kernel
Preemptive Kernel
Round-Robin Scheduling
Task Priority
Static Priorities
Dynamic Priorities
Priority Inversions
Assigning Task Priorities
Mutual Exclusion
Deadlock (or Deadly Embrace)
Event Flags
Intertask Communication
Message Mailboxes
Message Queues
Interrupt Latency
Interrupt Response
Interrupt Recovery
Interrupt Latency, Response, and Recovery
ISR Processing Time
Nonmaskable Interrupts (NMIs)
Clock Tick
Memory Requirements
Advantages and Disadvantages of Real-Time Kernels
Real-Time Systems Summary
Keyboard Basics
Matrix Keyboard Scanning Algorithm
Matrix Keyboard Module
Interface Functions
KeyFlush ()
KeyGetKey ()
KeyGetKeyDownTime ()
KeyHit ()
KeyInit ()
How to Use the Matrix Keyboard Module
Multiplexed LED Displays
LED Displays
Multiplexed LED Display Module
Interface Functions
DispClrScr ()
DispInit ()
DispStatClr ()
DispStatSet ()
DispStr ()
How to Use the Multiplexed LED Display
Character LCD Modules
Liquid Crystal Displays
Character LCD Modules
Character LCD Module, Internals
Interface Functions
DispChar ()
DispClrLine ()
DispClrScr ()
DispDefChar ()
DispHorBar ()
DispHorBarInit ()
DispInit ()
DispStr ()
LCD Module Display, Configuration
LCD Module Manufacturers
Time-of-Day Clock
Clock/Calendar Module
Interface Functions
ClkFormatDate ()
ClkFormatTime ()
ClkFormatTS ()
ClkGetTS ()
ClkInit ()
ClkMakeTS ()
ClkSetDate ()
ClkSetDateTime ()
ClkSetTime ()
Clock/Calendar Module, Configuration
Timer Manager
Timer Manager Module
Timer Manager Moduler, Internals
Timer Manager Module, Interface Functions
TmrCfgFnct ()
TmrChk ()
TmrFormat ()
TmrInit ()
TmrReset ()
TmrSetT ()
TmrStart ()
TmrStop ()
Timer Manager Module, Configuration
Discrete I/Os
Discrete Inputs
Discrete Outputs
Discrete I/O Module
Discrete I/O Module, Internals
Discret I/O Module, Interface Functions
DICfgEdgeDetectFnct ()
DICfgMode ()
DIClr ()
DIGet ()
DIOInit ()
DISetBypass ()
DISetBypassEn ()
DOCfgBlink ()
DOCfgMode ()
DOGet ()
DOSet ()
DOSetBypass ()
DOSetBypassEn ()
DOSetSyncCtrMax ()
How to Use the Discrete I/O Module
Fixed-Point Math
Fixed-Point Numbers
Fixed-Point Addition and Subtraction
Fixed-Point Multiplication
Fixed-Point Division
Fixed-Point Comparison
Using Fixed-Point Arithmetic, Example #1
Using Fixed-Point Arithmetic, Example #2
Using Fixed-Point Arithmetic, Example #3
Analog I/Os
Analog Inputs
Reading an ADC
Temperature Measurement Example
Analog Outputs
Temperature Display Example
Analog I/O Module
Interface Functions
AICfgCal ()
AICfgConv ()
AICfgScaling ()
AIGet ()
AIOInit ()
AISetBypass ()
AISetBypassEn ()
AOCfgCal ()
AOCfgConv ()
AOCfgScaling ()
AOSet ()
AOSetBypass ()
AOSetBypassEn ()
Analog I/O Module, Configuration
How to Use the Analog I/O Module
Asynchronous Serial Communications
Asynchronous Communications
Sending and Receiving Data
Serial Ports on a PC
Low-Level PC Serial I/O Module (COMM_PC)
CommCfgPort ()
CommRxFlush ()
CommRxIntDis ()
CommRxIntEn ()
CommTxIntDis ()
CommTxIntEn ()
CommSetIntVect ()
CommRclIntVect ()
Buffered Serial I/O Module (COMMBGND)
CommGetChar ()
CommInit ()
CommIsEmpty ()
CommIsFull ()
CommPutChar ()
Buffered Serial I/O Module (COMMRTOS)
CommGetChar ()
CommInit ()
CommIsempty ()
CommIsFull ()
CommPutChar ()
How to use the COMM_PC and the COMMBGND
How to use the COMM_PC and the COMMRTOS
PC Services
Character Based Display
Saving and Restoring DOS's Context
Elapsed Time Measurement
Interface Functions
PC_DispChar ()
PC_DispClrcol ()
PC_DispClrRow ()
PC_DispClrScr ()
PC_DispStr ()
PC_DOSReturn ()
PC_DOSSaveReturn ()
PC_ElapsedInit ()
PC_Elapsedstart ()
PC_ElapsedStop ()
PC_GetDateTime ()
PC_GetKey ()
PC_SetTickRate ()
PC_VectGet ()
PC_VectSet ()
Appendix A ┬ÁC/OS-II, The Real-Time Kernel
OSInit ()
OSSemCreate ()
OSSemPend ()
OSSemPost ()
OSStart ()
OSStatInit ()
OSTaskCreate ()
OSTaskCreateExt ()
OSTimeDly ()
OSTimeDlyHMSM ()
OSVersion ()
Appendix B Programming Conventions
B.00 Directory Structure
B.01 C Programming Style
B.02 Bibliography
Appendix C Acronym, Abbreviation, and Mnemonic Dictionary
Appendix D HPLISTC and TO
D.01 TO
Appendix E Companion CD-ROM
E.00 Hardware/Software Requirements
E.01 Installation
E.02 Directory Structure
E.03 Finding Errors
E.04 Licensing
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted April 19, 2002

    Finally Some Examples of Real Code

    This book features something rarely found in books on embedded systems - functional code. There are not many books on embedded C programming, and even the best of those will not have a complete code snippet to perform a useful operation like read a keypad. This book does, and the included source code is well written. However, in order to perform this feat, the book takes some necessary shortcuts. The code examples assume that you are using a message based RTOS, in particular uC/OS. This is not a problem if you also buy his book on uC/OS, of course. But that is also an excellent book, and the two books together take a lot of the pain out of embedded systems development.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)