Atmel Official AVR Consultant Home Contacts Testimonials Butterfly in action Butterfly at South Pole Products _____________________________________________________________________ Products C Programming Book Book+Butterfly+Kit Book + Kit & NO Butterfly Book and Butterfly++ Mini-Kit AVR Butterfly-- AVR Butterfly++ Mini-Kit Projects Kit for Book Projects Kit AND Butterfly++ USB meets Breadboard USB RS232 Level Conversion Butterfly Carrier Butterfly and Butterfly Carrier Downloads _____________________________________________________________________ Project Source Code WinAVR used in Book Butterfly Source Br@y++ Terminal ATmega169 Databook AVRStudio used in Book Smiley Terminal Alpha Butterfly Alternate Pin Uses USB Breadboard Quick Start USB RS232 Serial Conversion Errata _____________________________________________________________________ Well... nobody's perfect. Errors in Revision 1.0 Note - for the PC_Comm program, be sure and check the CR=CR+LF box in Br@ys Terminal. ----------------------------------------------------- Page 18 Original--> ...AVRStudio version 4.11... Fixed-----> ...AVRStudio version 4.09... ----------------------------------------------------- Page 59 Original--> ...lower three bytes... Fixed-----> ...lower three bits... ----------------------------------------------------- Page 59,60,61,135 Original--> TCC0RA Fixed-----> TCCR0A ----------------------------------------------------- Page 55 Original--> myByte = 10101011 = 0xAA Fixed-----> myByte = 10101010 = 0xAA ----------------------------------------------------- Page 55 Original--> 42 = 0x2B = 00101011 Fixed-----> 42 = 0x2A = 00101010 ----------------------------------------------------- Page 60 Original--> if(!(TCCORA & WGM01)&& !(TCCORA & WGM00)) Fixed-----> if(!(TCCORA & (1< #elif SuprMicX = 4 Fixed-----> #elif SuprMicX == 4 ----------------------------------------------------- Page 145 and 146 Original--> optoisolator Fixed-----> optointerrupter ----------------------------------------------------- Page 216 Original--> set ADC prescaler to , 1MHz / 8 = 125kHz Fixed-----> set ADC prescaler to: 2MHz / 8 = 250kHz If your copy has Revision 1.0 October 2005 on the second line of the copyright page, the following errata have been corrected in the text. The errata are divided into two categories: Confusing Errors - which can cause misunderstanding or programming errors, and Ordinary Typos which can cause eyes to roll over the fat-fingered authors poor typing (and editing) skills. Confusing Errors: ----------------------------------------------------- Page 23 Original--> and then solder a 330 ohm resistor Fixed-----> and then solder a 150 ohm resistor ----------------------------------------------------- Page 46 Original: Fixed: 1111000 = 248 11111000 = 248 1111001 = 249 11111001 = 249 1111010 = 250 11111010 = 250 1111011 = 251 11111011 = 251 1111100 = 252 11111100 = 252 1111101 = 253 11111101 = 253 1111110 = 254 11111110 = 254 1111111 = 255 11111111 = 255 ------------------------------------------------------ Page 54 Original--> 0x08 = 00001000 = 0x00 Fixed-----> 0x08 = 00001000 = 0x08 ------------------------------------------------------ Page 56 Original-->AND = 01101011 - 0x6B Fixed----->OR = 01101011 0x6B ------------------------------------------------------ Page 56 Original--> 0x40 = 11111010 = 0xFA Fixed-----> 0xFA = 11111010 = 0xFA ------------------------------------------------------ Page 89 Original-->if(results == 2) getrewardd(); Fixed----->if(results == 2) getrewarded(); ------------------------------------------------------ Page 89 and 90 Original-->char adder(unsigned char ad1, unsigned char a1) Fixed----->char adder(unsigned char a1, unsigned char a2) ------------------------------------------------------ Page 106 Original--> SRC += CommDemo.c Fixed-----> SRC += Demonstrator.c ------------------------------------------------------ Page 137: Original--> Figure 18, transistor is drawn as npn Fixed-----> Figure 18, transistor should be drawn as pnp ------------------------------------------------------ Page138 Original--> Figure 19, pin51 to TIP 115 pin1 Fixed-----> Figure 19, pin5 to TIP 115 pin1 ------------------------------------------------------ Ordinary Typos: --------------------------------------------------- Page 14 Original-->I politely disagree and say that you should just jump in learn whats fun for you. Fixed----->I politely disagree and say that you should just jump in and learn what's fun for you. --------------------------------------------------- Page15 Original-->Communicate with PC Fixed----->Communicate with a PC --------------------------------------------------- Page 17 Original-->Built-in safety pin for hanging from you shirt (GEEK POWER!) Fixed----->Built-in safety pin for hanging from your shirt (GEEK POWER!) ---------------------------------------------------- Page 19 Original-->These folks generously giving there time to help others Fixed----->These folks generously giving their time to help others ----------------------------------------------------- Page 23 Original-->The run Bray's Terminal Fixed----->Then run Bray's Terminal ------------------------------------------------------ Page 26 Original-->cut 9 pieces about 4 inches long strip each end about 3/8 inch, and connect them Fixed----->cut 9 pieces about 4 inches long and strip each end about 3/8 inch, then connect them ------------------------------------------------------ Page 32 Original-->Turn the Butterfly off. Fixed----->Turn the Butterfly off, then back on. ------------------------------------------------------ Page 35 Original-->Cylon robots reeking havoc on Fixed----->Cylon robots wreaking havoc on ------------------------------------------------------ Page 39 Original-->You can add comments (text the compiler ignores) to you code two ways. Fixed----->You can add comments (text the compiler ignores) to your code two ways. ------------------------------------------------------ Page 40 Original-->order in which a series of actions are preformed. Fixed----->order in which a series of actions are performed. ------------------------------------------------------ Page 41 Original-->_delay_loop2(3000)function does its job, he only needs knows what it does Fixed-->_delay_loop2(3000)function does its job, he only needs to know what it does ------------------------------------------------------ Page 41 Original-->set up so that the compiler knows were to look for it. Fixed-->set up so that the compiler knows where to look for it. ------------------------------------------------------ Page 44 Original-->caused your forehead to do too much damage too your keyboard. Fixed----->caused your forehead to do too much damage to your keyboard. ------------------------------------------------------ Page 45 Original-->about the time Albert Turing offed himself Fixed----->about the time Alan Turing offed himself ------------------------------------------------------ Page 47 Original-->with three fingers and on thumb on each. Fixed----->with three fingers and one thumb on each. ------------------------------------------------------ Page 49 Original-->in the 'Variables External, Static, and Register' section of. Fixed----->in the 'Variables External, Static, and Register' section of chapter 6. ------------------------------------------------------ Page 50 Original-->PieCircumference = PI*(piePanRadius^2) Fixed-->PieCircumference = PI*(piePanRadius*2) ------------------------------------------------------ Page 55 Original-->which we will use from no on. Fixed----->which we will use from now on. ------------------------------------------------------ Page 61 Original-->This provides a short cut way to write and expression, Fixed----->This provides a short cut way to write an expression, ------------------------------------------------------ Page 62 Original-->else Fixed-->else if (temp < 100) ------------------------------------------------------ Page 63 Original-->Some C gurus will memorize the precedence and associatively table Fixed----->Some C gurus will memorize the precedence and associativity table ------------------------------------------------------ Page 63 Original-->DO NOT memorize the Table of Operator Precedence and Associatively in C. Fixed----->DO NOT memorize the Table of Operator Precedence and Associativity in C. ------------------------------------------------------ Page 66 Original-->and one 4-bit general purpose I/O ports shown in Figure 13 Fixed----->and one 4-bit general purpose I/O port as shown in Figure 13 ------------------------------------------------------ Page 73 Original-->a group of statements or declarations in block delimited Fixed----->a group of statements or declarations in a block delimited ------------------------------------------------------ Page 74 Original-->Well how about he equivalent statement: Fixed----->Well how about the equivalent statement: ------------------------------------------------------ Page 74 I can't show the original because it was two forward slashes and they won't show on the web page, but the correction is: Fixed-->//17600 ------------------------------------------------------ Page 75 Original-->output a 0 to a pin to light and LED, Fixed----->output a 0 to a pin to light an LED, ------------------------------------------------------ Page 78 Original-->xint Fixed-->int ------------------------------------------------------ Page 79 Original-->But its really Fixed-->But it's really ------------------------------------------------------ Page 82 Original-->take out you paper and pencil computer Fixed----->take out your paper and pencil computer ------------------------------------------------------ Page 84 Original-->Mover your index in one position Fixed----->Move your index in one position ------------------------------------------------------ Page 88 Original-->let's make a function adder that adds two numbers. Fixed----->let's make a function named adder that adds two numbers. ------------------------------------------------------ Page 93 Original-->Recursive functions look like a good way quickly and predictably fill Fixed----->Recursive functions look like a good way to quickly and predictablly fill ------------------------------------------------------ Page 94 Original-->causing potential fun results, Fixed----->causing potentialy fun results, ------------------------------------------------------ Page 106 Original-->Using CommDemo Fixed----->Using PC_Comm ------------------------------------------------------ Page 191 Original-->Mhz Fixed-->MHz ------------------------------------------------------ Page 224 Original-->The response is a low number for a medium light level; Fixed-->The response is a medium number for a medium light level; ------------------------------------------------------ Page 224 Original-->The response is a low numbr for a low light level; Fixed-->The response is a high number for a high light level; ------------------------------------------------------ Page 227 Original-->Figure 27 Fixed-->Figure 30 ------------------------------------------------------ Page 227 In paragraph 4 Figures 27,28,29,and 30 should be 28,29,30,31 ------------------------------------------------------ Page 242 Original-->struct{ .... } x,y,z Fixed-->struct pwm { ... } x,y,z ------------------------------------------------------ Page 245 Original-->struct pwm pulser2,) Fixed-->struct pwm pulser3) ------------------------------------------------------ Page 245 Original-->struct pwm widestPWM(struct pwm *p1, struct pwm *p2, struct pwm *p2) Fixed-->struct pwm widestPWM(struct pwm *p1, struct pwm *p2, struct pwm *p3) ------------------------------------------------------ Page 245 Original-->&pulser4k10; Fixed-->&pulser4k10); ------------------------------------------------------ Cover spine Original: Microcontorllers Fixed: Microcontrollers ------------------------------------------------------ And more will surely follow especially if the reader decides to help your fellow hapless learners and email me about defects not listed here. Printable Version Copyright © Smiley Micros 2007 Powered by phpWebSite AVR is a registered trademark of Atmel Corporation