ecat
发表于 2007-11-25 22:05:10
P432,第二个表格,SPSR 的名称写成了 SPCR。
ecat
发表于 2007-11-25 22:08:47
请问马老师,P432,倒数第4行 对SPI数据寄存器SPDR的()操作。
括号内是写,还是读还是读写呢?
============================
Alternatively, the SPIF bit is cleared by first reading the SPI Status Register with SPIF set, then accessing
the SPI Data Register (SPDR).
读取SPSR寄存器,将会自动把SPIF清除掉.这个同清T/C中断标志不同.属于特别的清除中断标志位的方式.
另外,通常是先读状态寄存器,然后再读数据寄存器.这一点同读USART的操作类似.
ecat
发表于 2007-11-25 22:48:29
马老师,我注意到,用软件清除SPIF的方式,在读取SPSR时,SPIF就自动清除了,到这里可以说达到软件清中断标志的目的了,为什么还要再访问SPDR呢?
ecat
发表于 2007-11-25 22:54:51
我为我上面的问题要笑了,SPIF中断置位,肯定是有新数据来了,当然要读SPDR,但在读它之前,一定要先读SPSR,来清除中断。
machao
发表于 2007-11-25 23:07:37
正确
ecat
发表于 2007-11-26 00:14:22
P434,第2行,第9个字,“号”的后面建议加个逗号,否则,整句话很难读。
==================
是应该有",".^_^
ecat
发表于 2007-11-26 21:32:36
P455,第二个表格,寄存器TWCR的第6位 TWEA 印成了TWEV。
==============================
已经到I2C了,剩下不多了^_^
ecat
发表于 2007-11-26 23:40:38
是呀!我以前都是用软件模拟I2C的,AVR的硬件I2C还是第一次去了解,所以还得慢慢看,不能急。
azhu_uestc
发表于 2007-11-27 20:40:56
我等第二版去买!我的原则是买第二版!以后不知道往哪方面走了,单单MCU就有好多种,ARM又最近热的发烫!
ecat
发表于 2007-11-27 23:49:48
报告马老师,您的新书俺基本上读完了,用了18天。^_^
============================
希望对你有帮助.另外后面的错误没有了?
pang975027
发表于 2007-11-28 08:49:35
偶着急中!!!还没有买到啊!!!./emotion/em148.gif
machao
发表于 2007-11-28 17:07:00
to 113:网上可以购买,折扣也多.
ecat
发表于 2007-11-28 18:04:35
报告马老师,您的新书俺基本上读完了,用了18天。^_^
============================
希望对你有帮助.另外后面的错误没有了?
=====================================================
非常感谢马老师写出这本高水平的AVR教材!该书将对我今后的AVR开发工作起到指导性的作用。由于心急,所以看书的速度还是快了点,书中的例子中,大部分的程序只是读通后就过去了,没有上机验证(今后会在工程项目中弥补 ^_^)。
后面的错误我发现了3个,不过你都已经更改了。由于我并不是站在编辑的立场上去看书的,所以不太可能发现全部的错误,后面就要靠其他网友了。
dingqisheng
发表于 2007-11-28 20:57:46
我买过几本有关单片机的书,比较起来觉得这本书是讲解得最好的一本书。一版只出5000本我竟然能买到真太幸运了。
penq88
发表于 2007-11-29 13:05:18
请问马老师:
P169,第4行和第7行
(地址空间为I/O空间的0X00~0X31)
是不是应该为“(地址空间为I/O空间的0X00~0X1F)”
=================================
是的,十进制和十六进制混乱了,谢谢.
margaret
发表于 2007-12-9 15:03:05
马老师:
书中P327倒数第三行TIFR |= 0x02;是清除计数器0的比较匹配中断标志,而P329第三段第四行说是计数器2的中断标志位,后边那个是对的吧?另外这一句有什么作用?不要是不是也可以?
===================================
谢谢,改过了。
最好加上,需要T/C2从新开始记录计时脉冲的个数,如果有中断标志(响应T/C0中断过程中产生的)也要清掉。
margaret
发表于 2007-12-9 15:42:22
P308图ADMUX的高两位应该是REFSn,印成了AEFSn
==========================
谢谢
chm0907
发表于 2007-12-9 20:36:08
上周参考了一下马老师的165程序做东西的发现,例子的题目写错了。第十二章 串行口接口概述 Page:355 例12.3利用74HC164实现8路并行输入口的扩展 应该是 74HC165。
:)第一次用avr做东西,马老师的书没认真看,倒是参考了不少程序。改天一定好好仔细看看,谢谢马老师!
这次用165扩展键盘的效果还不错,挺稳定的。改天发上来给大家参考。
=============================
谢谢.
csujun
发表于 2007-12-11 15:42:10
第三章:70页
SBR指令的说明有误
=================================
SBR指令和ORI指令实际是一条指令,功能相同.我查过没有发现有误.下面是英文解释.
SBR - Set Bits in Register
Description:
Sets specified bits in register Rd. Performs the logical ORI between the contents of register Rd and constant mask K and places the result in the destination register Rd.
Operation:Rd <- Rd v K
Syntax: Operands: Program Counter:
(i)SBR Rd,K 16<=d<=31, 0<=K<=255 PC ← PC + 1
16-bit Opcode:0110 KKKK dddd KKKK
S: N ? V, For signed tests.
V:0 Cleared
N:R7Set if MSB of the result is set; cleared otherwise.
Z: 'R7 • 'R6 • 'R5 • 'R4 • 'R3 • 'R2 • 'R1 • 'R0
R (Result) equals Rd after the operation.
Example:
sbr r16,3 ; Set bits 0 and 1 in r16
sbr r17,$F0 ; Set 4 MSB in r17
Words: 1 (2 bytes)
Cycles: 1
lihq97
发表于 2007-12-11 18:41:14
马老师,P113,第10行的“debug_ware”,应该为“debugwire”
===========================================================
谢谢了.
shalixi
发表于 2007-12-20 23:08:15
备查
ulry_blue
发表于 2007-12-21 17:31:44
今天中午刚拿到书,刊误都快改完了才发现493页有一个大黑块,把11,12,13排的前半截的字盖住了。。。
查看过了,我的书没有,可能是个案.
machao
发表于 2007-12-24 19:21:37
到今天为止,《AVR单片机嵌入式系统原理与应用实践》一书共发现76处各种错误。
作者本人向购买过本书的朋友表示歉意,并提请大家参考LZ位的贴子修改。如果发现还有问题也请及时提出。
shalixi
发表于 2007-12-25 10:59:26
马老师,上海的书店已买不到你的书了,在www.newbooks.com.cn上订书也两天了。订单状态:订单已经确认。
mimipbr
发表于 2007-12-26 13:12:33
今天终于买到马老师的书了,41.6RMB,呵呵
machao
发表于 2008-1-3 15:30:52
2个月中,在大家的帮助下,供发现了近80处的问题。
非常感谢各位,并祝大家2008年心想事成,一切顺利,步步高。
mowin
发表于 2008-1-3 15:48:56
做个记号
我一边看一边按例程做实验.收获不了,谢谢马老师.祝新年快乐
====================================================
"收获不了"??还是"收获不小"??
gaochaoning
发表于 2008-1-5 09:26:58
P170页,第8行相“与”,因改成相“或”。
======================================
谢谢!这是个比较严重的笔误.
lcd128x64
发表于 2008-1-8 20:47:30
P252页 倒数第4行 PORTA =~PORTA;//PA0取反输出。?
不应该是 PA0 吧。要不就应该把 PORTA =~PORTA; 改为 PORTA.0 =~PORTA.0;
有些页的页码没有印,应该是应刷厂的问题。
==========================================
这个程序是简单的示例,由于PA口没有用做其它,所以将整个PA口取反了(当然PA0也取反了).这样在整个PA口上都能测到输出.
按题目说明,应该为PORTA.0 =~PORTA.0,包括后面中断中的一句.
atmega48
发表于 2008-1-10 09:13:29
马老师:
书中第354页的表12-3(74hc595的功能表)最后4行与TI的74hc595的datasheet中的表不一样?是否有问题?
machao
发表于 2008-1-10 13:50:40
谢谢132楼的问题和指正,下面做说明:
1.书上的功能表是按使用motorola器件手册中的资料,而光盘中的参考资料是TI的.2个只是引脚的名称定义不同,但是功能是全兼容的.
2.2个功能表都是正确的,但我个人认为motorola给出的功能表比TI资料中的好,容易使用.而TI资料的功能表不容易使用.比如:Reset(SRCLR)在正常使用过程中应该保持高电平(低电平为清另移位寄存器),而TI中很多地方采用任意表示(X),容易造成误解.
3.书中的功能表有一个地方排错了(这是我的疏忽),就是锁存信号(Latch)的上升下降排反了(倒数3\4行),但书下面的解释和程序是对的(因为所有的程序是我自己编写和测试的).其它没有问题.
再次感谢132楼的atmega48
markliang
发表于 2008-1-14 12:42:38
看錯了。還以為印刷錯了呢。
怎麼書中沒有SLEEP詳細的用法呢?還是我沒有找到?
cumtyq
发表于 2008-1-15 13:27:01
第165页,第八行:
错误:同时可吸纳20mA电流
正确:同时最大可吸纳40mA电流
第165页,图6-2:
错误:方向:输入
正确:方向:输出
==========================================
第1个不能这样写.同时吸纳20mA是标称值.40mA是单个I/O的最大值,8个口同时为40mA的话,要达到320mA!要超过AV的总电流限制(见器件手册).因此在使用中,不能多个I/O口同时都输出或吸纳大电流.
第2个是错误,马上做勘误.谢谢!
liming3267
发表于 2008-1-16 22:11:22
第239页,文字第二段,第四行:
错误:或改变OC2的输出逻辑电平
正确:或改变OC0的输出逻辑电平
===============================
谢谢!
guaizima
发表于 2008-1-21 21:47:15
改了一小时终于改完了.就是稍微白字多了点,致命的伤不是太多.按键处理的那个程序没改,我已经按照那个思想和自己的想法写了一个了,用着还行.所以就不抄了.呵呵
paulw
发表于 2008-1-30 22:20:28
381页,第7,8,9行
"RCX"应该为“RXC”
=========================
谢谢了.
zy851001
发表于 2008-2-8 14:18:03
呵呵!
我也买了,正在学了
azhu_uestc
发表于 2008-2-10 23:19:05
马老师,会出修订版吗?
machao
发表于 2008-2-15 12:56:43
已经与出版社沟通过.如果再印的话,会做修订的.
cumtyq
发表于 2008-2-22 00:35:46
第309页,倒数第十一行:
错误:REFS1、REFS2
正确:REFS1、REFS0
===========================
谢谢!在上面做了勘误
KANGYD
发表于 2008-2-22 09:52:05
书店就一本,被我买到了,幸运!!!
aohaijun
发表于 2008-2-22 11:52:03
请问马老师:如果出修订版的话,大概会是什么时候?到时能否在网上第一时间发布,一直在等修订版!
=========================================
什么时间出修订版要听出版社的。他们要根据书销售的情况以及市场的需求制定计划的。如果要出修订版我会第一时间发布消息。
ddwl99
发表于 2008-2-26 10:04:20
69页
寄存器逻辑“与”下面
AND Rd,Rr 0≤d≤31,0≤d≤31
AND Rd,Rr 0≤d≤31,0≤r≤31
嘿嘿终于有贡献了~~~~~~~~
==========================================
非常感谢了.
gaochaoning
发表于 2008-3-2 18:31:33
P278页到数15行,第12个字“将”应为“讲”。
===========================
谢谢!
aohaijun
发表于 2008-3-11 15:50:16
P247 图8-13TOP 印成了TOR.
另外请问马老师:CLKi/o经8分频后的波形怎么是下图这样啊?经过分频后占空比都变化了?
1http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_228237.GIF
machao
发表于 2008-3-11 18:04:21
1。谢谢,我马上做勘误。
2。CLKi/o与系统时钟相同,50%的方波。不过CLKi/o和系统时钟之间有个内部硬件控制的开关,当进入一些休眠状态时,该开关打开,CLKi/o就没有了,此时I/O不工作了,仅内部CPU部分工作,这样就省电了。
3。CLKtn是经过T/C的预分频器后作为计数脉冲进入T/C的,预分频器实际也是个计数器,8分频就是每计8个CLK,输出一个CLK,频率是CLKi/o的1/8,但不是50%的方波。对于计数器讲,计数脉冲并不需要50%的方波,因为它是上升(下降)沿除法的,两个上升沿之间周期还是8倍CLKi/o的周期,这个是准确的。
aohaijun
发表于 2008-3-11 22:12:09
谢谢马老师的作答!
不过有点想不明白,既然CLKtn是CLKi/o经过预分频器进入T/C,就是说CLKi/o没有直接和"control logic"相连,是CLKtn驱动"control logic"的,但为什么书上还是有如:....在接下来的第8个系统时钟的上升沿处将TCNTO的值清为BOTTOM(P246 倒3行),此处为什么不是在CLKtn的上升沿呢(CLKtn和CLKi/o上升沿并不是同一时刻)?还是我在钻牛角尖?
=====================================================================================================
T/Cn可以由CLKtn的上升沿和下降沿触发,从图中可以看出,CLKtn的上升沿和下降沿都发生在CLKi/o的上升处(1分频除外).图8-11到图8-13实际是CLKtn下降沿触发的时序,而图8-10是上升沿触发的时序.
另外:
书中印刷错误
P333 第14行禁止T/C1输入捕捉和溢出中断印成了T/CI
=======================================================================================================
谢谢!
little_grass
发表于 2008-3-13 16:36:08
478页倒数17行和19行的注释部分是不是应该调换位置?
===========================
是的,谢谢!
aohaijun
发表于 2008-3-13 21:41:15
P444 倒6行 putSPIchar(i)印成了 putSPIchat(i)
另外:P445 前面都是SPI 后面出现好多ISP
=============================================
谢谢你.这应该是我的笔误了.
little_grass
发表于 2008-3-20 23:16:23
385页的第四行是不是应该是PORTD=0X02;
==================================================
M16的PD0(RXD)和PD1(TXD)是USART的数据串入,出口.
DDRD=0X02 将PD1设置为输出工作方式,PD0为输入工作方式.
PORTD=0X03 将PD0的内部上拉置为有效,而PD1输出高电平.因为USART在两个传送帧之间,RXD和TXD均处在高电平状态.
所以PORTD = 0X03没错.
lofeng
发表于 2008-3-21 18:22:45
206页的倒数第九行:AVR标志寄存器SREG?应该是状态寄存器吧!
=====================================
是应该叫状态寄存器,里面都是标志位.谢谢!
yzz163
发表于 2008-3-21 22:10:47
2。**第154页,倒6行
错误:程序实例:demo_5_2.asm
正确:程序实例:demo_5_3.asm
说明:请使用DEMO_5_3\DEMO_5_3目录下的文件。DEMO_5-1,DEMO_5_3是汇编代码,只能在AVR STUDIO中打开。由于AVR STUDIO的项目管理记录的是绝对路径,所以使用时,应该在你的目录环境下,新建一个工程,将原demo_5_3.asm打开,重新编译既可.(CVAVR的过程管理是记录相对路径的,所以不存在该问题).另外书上程序代码中的名称错了,与光盘目录名称不符。
-------------------------------------
(CVAVR的过程管理是记录相对路径的,所以不存在该问题).
这句的 "过程管理" 因该是 "工程管理" 吧?
===========================================
对"工程管理"
little_grass
发表于 2008-3-25 00:50:12
316页倒数第5行:flash unsigned char position={......}
我觉得应该是:flash unsigned char position={......}
==========================
谢谢.
yzz163
发表于 2008-3-26 10:36:44
第八章 243页,第6行
原文:
2)比较匹配清0计数器CTC模式(WGM2=2)
------------------
括号里的应改成这样吧:(WGM0=2)
并且这章里(表8-2、8-3)除了用 WGM0=X ,又使用了WGM=X 的方法来表示模式,不好理解。建议都使用 WGM0=X 的方式表述,这样和前面的表述一致。
=========================================
谢谢,可以采纳这个建议
little_grass
发表于 2008-3-26 17:19:31
222页倒数第8行
原:unsigned char counter;
应该为:volatile unsigned char counter;
做过实验了,修改后才可以。
============================================
在CVAVR环境下使用没有问题.而在WINAVR环境被优化了.这是开发环境的区别.
shalixi
发表于 2008-3-27 11:25:18
刚修正完,留个时间
cds828
发表于 2008-4-1 12:18:45
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_243000.jpg
(原文件名:1111.jpg)
请问马老师,第85页中,究竟是ELPM Rd,Z+呢,还是ELMP Rd,Z+??
您的另一本书《ATmega128 原理开发应用指南》及ATmega16的Datasheet却都写着是LPM Rd,Z+,不明白哪种是正确的。
附注:今天又买了您的《AVR单片机嵌入式系统原理与应用实践》,很开心
==================================================================
正确的ELPM,上面是笔误,已改正了.
ELPM是LPM的扩展指令,主要是在FLASH大于64K字节的芯片中使用.M16中只需要使用(支持)LPM.
xhdzwzj
发表于 2008-4-11 13:59:11
因为都是在学习 建议把例子说明详细
#define clock_nomal 0 // 正常显示状态
#define clock_set_1 1 // 时间设置状态
#define clock_set_2 2 // 当前日期设置状态
#define clock_set_3 3 // 终止日期设置状态
eeprom unsigned char e_date_flag; // EEPROM数据有效标记
eeprom unsigned char e_date_set;// 存放终点日期,如奥运会开幕日期
unsigned char date; // 年、月、日计数和设置单元
unsigned char time,time_set; // 时、分、秒计数和设置单元
signed int tian,tian_1,tian_2; // 天数单元
unsigned char dis_buff; // 显示缓冲区,存放要显示的10个字符的段码值
都像这样就容易懂啦
cds828
发表于 2008-4-13 13:46:53
似乎还有几处错误:
1.28页中图2-3(a)和(b)的18脚,正确的为(OC1B)PD4
2.381页倒数第四行
"重写寄存器UCSRA的操作总是设置DOR标志位为'0'"应改为:
"重写寄存器UCSRA的操作总是设置PE标志位为'0'"
3.370页 表13-3中UPM2应为UPM0
================================================
谢谢!
raosibin
发表于 2008-4-15 22:22:31
p236
倒数18行,CS0=8,应为6吧
=====================
谢谢!
目前已经有107个修正勘误了.
yzk_82226
发表于 2008-4-16 15:44:47
我买了本 正看着很放心
chuyu111
发表于 2008-4-22 20:55:42
书刚买到就一口气把勘误都修改了 又累又爽
machao
发表于 2008-4-22 22:08:03
抱歉了.希望书对你学习有帮助.
目前出版社还有1千多本库存,如果要第二次印刷时,会将上面的错误改掉的.
sunxiaofei
发表于 2008-4-26 17:09:24
第91页,倒数11行,置半进位标志指令为SHE。为什么其它置位SREG指令均以"SE"开头?是不是印错了?
=========================
谢谢!是错了.
125008301
发表于 2008-4-29 20:42:24
书本P377最后一行/*等待发送缓冲器空*/
while(!(UCSRA&(1<<UDRE))));貌似这里多了一个括号
============================
是多了个,谢谢!马上做勘误.
margaret
发表于 2008-5-8 00:29:58
P334 if(!(icp_v2 >= icp_v1 && full_ok))//有溢出,数据无效
与P336 第二段的解释不符
========================================================
有溢出,数据无效是指(icp_v2 >= icp_v1 && full_ok)判断,后面的解释就是解释这个判断,有什么问题请具体指出.
margaret
发表于 2008-5-8 10:58:30
icp_v2 >= icp_v1 && full_ok 时是有溢出,为什么要在if中再取逻辑非?
margaret
发表于 2008-5-8 11:50:27
明白您的意思了,if(!(icp_v2 >= icp_v1 && full_ok)) {……} 是在测量有效的情况下执行,无效的话执行max_icp = 1;
但下一句icp_1=icp_2; 无论测量是否有效都会执行,可能会出错。
另外前边 if (icp_v2 >= icp_v1)icp_2 = icp_v2 - icp_v1; 在溢出情况下也是执行的。
csg0203
发表于 2008-5-10 15:56:55
马老师:P236,第5行,C/T0,应为T/C0吧?
======================================
谢谢了.
coolbor
发表于 2008-5-13 16:21:34
第76页第7行:
原文:指令“BRBS 0,K”
是否应该为:指令“BRBC 0,K”
=========================
应该是BRBC 0,K .谢谢!
raosibin
发表于 2008-5-17 21:50:10
P303,倒数第10行,ADC应为ACD,不知对否
==================
应为ACD.谢谢!
penq88
发表于 2008-5-26 21:26:09
P249页,正文从下往上数第12行:
原文:“因此TCNT0的初值=255-124”
我觉得改为:“TCNT0的初值=256-125”。更恰当一些。
不知对不对?
P263页,图有2处明显错误,如图:(Atmel的数据手册上也是错误的)
http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_293653.JPG
(原文件名:P263.JPG)
=============================
1.两种解释都可以,而且都需要转个弯理解.只是我习惯了前一种的计算方式.还是不动吧,因为书中其它地方也是按第一种方式计算的.
2.是错误,我是直接搬数据手册的.
非常感谢.
raosibin
发表于 2008-6-4 16:40:30
马老师:第12章多次出现".....打入....."一词总感觉很别扭,是否改为"....输入...."或其它的词更专业些.
machao
发表于 2008-6-4 18:02:53
"输入"和"打入"还是有点区别的,"输入"更加体现的是一个过程,而"打入"则更强调一次性的动作.在串行通信过程中,时钟信号是非常重要的,它不仅是一把"丈量的尺",而且在上升沿和下降沿处的动作非常重要.通常讲在上升沿处将数据"打入".
再举个例子,就是CPU的RD控制信号.通常RD为低电平时,是CPU读数据的过程,在RD低电平时间内,外设或存储器应该将数据"输入"到数据总线上,由于器件的不同,"输入"数据可能早点,或晚点,但只要在RD的低电平的时间内就可以了(这里用输入比较好).而RD的上升沿则是把总线上的数据"打入"到寄存器中(这里用打入,更强调一个时间点上的动作).
学数字逻辑电路时,比较多的是电平逻辑.电平是有宽度的.而在MCU以及通信中,上升沿和下降沿时的动作非常重要.
raosibin
发表于 2008-6-5 09:17:28
明白了老师的意思,但我对"打入"一词还是保留意见,"输入"也不妥.
kbdcj2000
发表于 2008-6-29 06:25:45
p370第一行
位6---UMSEn
应为UMSEL
===================
谢谢。
guoqiang
发表于 2008-7-9 16:36:58
56页 18题与20题有2个小问题好像重题了
===========================
有些重复,相辅相成,更加全面吧。
stefchang
发表于 2008-7-10 14:27:43
453页 图16-5AVR的TWT模块结构图
应该改为 TWI。。。
================================
谢谢了。
ep02
发表于 2008-7-20 09:48:27
522页,倒6行
“<”是否应该改为“>”?
另外,马老师最好提供Word格式的勘误表(放顶楼,实时更新),方便编辑打印。
===============================
谢谢!。
ep02
发表于 2008-7-20 11:23:19
391页,第14行
“发送和接受”宜改为“发送和接收”?
==================================
谢谢!
ep02
发表于 2008-7-20 11:57:24
543页,第3行
“或支持的”宜改为“或支持得”?
==================================
谢谢。
咨询过相关人员,“支持”为动词,后面为“得”,“支持”为名词,后面用“的”。
类似例子有“做的不好”或“做得不好”。两种好象都可以,需要改动吗?
huanwuleng
发表于 2008-7-20 16:44:00
此贴从2007-10-30,19:41:07 讨论到2008-07-20,11:57:24
火啊
ep02
发表于 2008-7-20 19:35:16
“做的不好”或“做得不好”。两种好象都可以,需要改动吗?
马老师,我觉得上述两句的意思是不同的。
另外,为了使该书更完美,我认为还有一些地方可能需要修改,请斟酌。
1、P10,倒13行
“硬件低层”-->“硬件底层”
2、P12,第8行
“CPU中处理器、控制器”是否应改为“CPU中运算器、控制器”?因为CPU就是中央处理器,它主要由运算器和控制器两部分组成。
3、P25,第2行
“合并成为3个16位的”改为“合并成为3个16位的(地址指针)寄存器”好些,否则这句话好像没有结尾。
4、P27,倒8行
“0~8Mb/s”应改为“0~8MHz”,“0~16Mb/s”应改为“0~16MHz”
5、P28,图(b)上部
PB2(AIN/AINT2)应改为PB2(AIN0/INT2),PB3(AIN1/OSC0)应改为PB3(AIN1/OC0)
6、P29,倒9行起往下
ALU的标准中文名称应为“算术逻辑单元”或“算术逻辑运算单元”,英文为Arithmetic Logic Unit
7、P45,第5行
“R3”应为“R2”
8、P49,第14行
“溶丝位”应为“熔丝位”(建议对全文档搜索一下,可能还有类似这样的错误)
xiaorunyi
发表于 2008-7-20 21:51:37
首先谢谢马老师这么敬业。我也很喜欢这本书,做东西时经常拿出来看的。但是你是我这个人性格就这样吧,追求完美……。
建议老师以后有什么地方改正了,按时间写出来,这样我们可以按确认错误的时间来找,不然每次要从头找,有点多了就费时间了。
我都下了4次表了,没次从头挨个定一边还是很那个的。谢谢!
ecat
发表于 2008-7-20 22:31:30
楼上如果追求完美,就买第二次印刷的吧。
ep02
发表于 2008-7-21 06:44:54
楼上的ecat 电子猫这样说好像有些不负责任哦,第二次印刷的也难保没有瑕疵或错误,难道又要人家买第三次、第四次印刷的?我赞同xiaorunyi的说法。
ep02
发表于 2008-7-21 07:54:51
继续。。。。
9、P25,倒8行
“寄存器之间立即数与寄存器之间”改为“寄存器之间、立即数与寄存器之间”?
10、P65,倒2行
“IRET”改为“RETI”
11、P66,第8行和第9行
括号中的说明容易让人联想到直接用PUSH SREG和POP SREG,而这样是错误的,是否把类似212页的程序段也在这里写一下?
12、P94,表3-1第3列最后一行
“声名”改为“声明”
13、P110,4.2.3节第一段多处,以及P113,第4小点
“编程烧入器”本人觉得改为“编程器”或“程序烧录器”合适些,“烧入”的说法似乎不太正式,而“烧录”正式些
14、P117,倒5行
“其软件包由BACIS编译器”改为“其软件包由BASIC编译器”
15、P117,最后一段多处及第15行
IDE的中文名称应为集成开发环境
16、P164,大标题下第6行
“USRAT”改为“USART”
17、P172,第4行
“发光二极管负极”应改为“发光二极管阴极”
另外,前面关于“打入”与“输入”的讨论,我也觉得“打入”一词很别扭,“锁入”如何?
machao
发表于 2008-7-21 09:14:13
非常感谢ep02,如果你还发现有错误,请及时提醒。我将专门整理出一份补充的勘误表。
同时希望其他朋友,如果发现问题的话也请尽快提出,争取在加印的书中消灭这些错误。
machao
发表于 2008-7-21 22:53:25
ep02,留个地址吧,新印的书出来后,送你一本,表示谢意。
ma-chao@online.sh.cn
zcdyyu
发表于 2008-7-21 23:23:22
我也买了一本,看到第5章.不过由于没有C语言基础,看来得先停下.
ep02
发表于 2008-7-22 07:51:11
P523,图18-6
位7~位0的名称具体些应写为
TCS3、TCS2、TCS1、TCS0、DS1、DS0、RS1、RS0
============================================
太感谢了,不过这条赶不上了,要等第3次印刷了(不知道会不会了)。
我会先整理成勘误3,帖在网上。
machao
发表于 2008-7-22 17:41:29
非常感谢ep02的帮助,又找出21处问题,已经整理作为勘误2发上来了。
再发现错误将作为勘误3(不好意思),并采纳 xiaorunyi 12的建议,发补充文件上传。
ep02
发表于 2008-7-23 09:46:07
还有。。。。。。
呵呵,尽可能完美些吧^-^
1、P41,倒12行和倒13行
“GIMSK”一般是AT90S系列采用的名称,中文名为通用中断屏蔽寄存器,在ATmega16中该寄存器改称为GICR(通用中断控制寄存器)(而在ATmega48、88、168中则似乎分散在更多的寄存器中)
2、P134,倒8行
“工程项目管理文件(.APR)”是否应为“工程项目管理文件(.APS)”?
3、P138,倒5行
“Vmalb”应改为“Vmlab”
4、P213,第3行
“lable标号”是否改为“label标号”?
5、P213,倒13行
“对SERG进行保护”应改为“对SREG进行保护”
6、P296,程序段下第1行和第4行(不知有没有改过?倒3行的同样错误在前面勘误表中已指出)
“read_keyboaed”改为“read_keyboard”
7、P85,倒8行和P86,第3行
“PAMPZ寄存器”是否改为“RAMPZ寄存器”?
============================================
谢谢你了。我已经赶快做了核对和整理,并发到出版社了,希望能赶上时间。
machao
发表于 2008-7-23 20:44:19
佩服ep02的认真、仔细、专业的精神,并再次感谢ep02及时的指出书中几十处的问题。
截止到今天下午,所有LZ位共151处需要做勘误的地方都发给了出版社。出版社方面非常配合,在书已经下厂准备开印的情况下,立即通知缓半天,让编辑人员把我上午整理的勘误(3)消灭掉了。
如果各位还发现问题,请继续发到这里,尽管赶不上这次修改,但我会及时做出勘误表贴上来的。
谢谢大家的支持。
pjzjf
发表于 2008-7-31 17:49:56
P63页 倒12行
“LMP ;操作:R0……”改为“LMPR0,Z;操作:R0……”
ep02
发表于 2008-8-4 16:48:25
楼上的pjzjf,P63页 倒12行没有错误,LPM后面什么都不带意思就是R0 <- (Z),改了反而错了(LMP)。^-^
以下三处可能有误。
1、P502,EEARL寄存器表格下面第2行
“RRRRR/WR/WR/WR/W ”应改为“RRRRRRRR/W”,即EEARH的位9~位11均为只读。
2、P502,第2点上面那段,关于EEPROM地址空间的叙述
“从0到512”应改为“从0到511”
3、P509,倒15行
“ATmega8518”是否应为“ATmega8515”?
gaochaoning
发表于 2008-8-5 21:47:43
P194中:5 RD-2PC1(M16)我感觉上应该改成5 R/W-2PC1(M16)因为实验板上印的是R/W.
zhzifun
发表于 2008-8-20 12:42:09
334页14行
错误:捕捉,1/4MHz计时时钟
正确:捕捉,4MHz计时时钟
raosibin
发表于 2008-8-29 15:39:56
P395倒数第6行
图13-10
应为图13-11
raosibin
发表于 2008-8-29 15:43:33
P399第5行
...规范的指定....
...规范的制定....
P402倒数第4行
....规范的制订....
....规范的制定....
P402倒数第11行
....规范的制订....
....规范的制定....
P402倒数第16行
....单独制订....
....单独制定....