本人小白,最近开始学习STM32F103,所以买了一本《STM32库开发实战指南:基于STM32F103》看,整本书大概看了一遍,发现书中有些错误,由于本人初学,暂时还没有能力发现技术类错误,基本都是些语句错误,不过还是发帖希望野火官方能注意,并在下一版中改正过来。以下是我记录的书中错误点:
1、P15页:3.4.4的2)段中的“U8的2脚为低电平,U18为一个模拟开关”中的“U8”应该为“U18”吧? 2、P15页:图3-6(续)的电容C65没有与地连接。 3、P18页:“移动POST机”应为“移动POS机”。 4、P24页:第二段“在探索寄STM32寄存器深层次的问题时”,多了一个“寄”,应该为“在探索STM32寄存器深层次的问题时” 5、P26页:图5-4中的“浅色表示驱动单元”、“深色表示驱动单元”,两个都表示驱动单元? 6、P35页:“直接使用宏定义好GPIO_TypeDef类型的指针”句子中的“好”字怎么理解? 7、P48页:图7-5中“请参考表17端口位配置表”中的表17在书中什么位置?另,图中“位31-10”是否应改为“位31-30”? 8、P48页:图7-5中“位31:10”是不是有问题?应该为“31:30”?图7-6中也是同样问题。 9、P93页:图11-1原理图与“这些LED的阴极都连接到STM32的GPIO引脚”有冲突,原理图中是阳极连接电阻再连接到GPIO引脚。对比P50页中图7-8。 10、P106页:图13-1中的片上外设应该是从“0x40100000~0x41FFFFFF”且应该是“31MB”。 11、P109页:“其中宏参数n表示具体是哪一个IO口,n为0~16”中应该为“n为0~15”。 12、P116页:“单片机的系统时钟配被配置为72MHz。”中的“配被”一词有误。 13、P120页:“系统时钟SYSCLK经过AHB预分频器分频之后得到的时钟叫APB总线时钟”应该是“AHB总线时钟”吧? 14、P119页:图15-1中的“APBI预分频器”应该为“APB1预分频器”。 15、P161页:图20-7中的“发改写器控制”应该是“发送器控制”。 16、P164页:“39=0x17”应该是“39=0x27”,“应该设置USART_BRR的值为0x171”应该是“0x271”。 17、P168页:“所以对优先级什么具体要求”应该是“所以对优先级没什么具体要求”? 18、P179页:“编号越低越优先级越”语句不通。另外“比如通道0高于通道1的优先级”没有通道0吧?这个比如欠妥。 19、P213页:“只是在发送数据的时候,使用for循环控制发送多个数据”应该是使用“while循环”吧? 20、P216页:“若NumOfPage=22”应该是“若NumByteToWrite=22”吧? 21、P224页:“上过通信流程中包含的各个信号分解如下”应该为“上述通信流程中包含的各个信号分解如下”。 22、P228页:“通过写SPI的数据寄存器DR把数据填充到发送F缓冲区中”句中的“F”是多余。 23、P233页:SPI初始化函数中 /*使能SPI引脚相关的时钟*/ Flash_SPI_CS_APBxClock_FUN( Flash_SPI_CS_CLK | Flash_SPI_SCK_CLK | Flash_SPI_MISO_PIN |Flash_SPI_MOSI_PIN , ENABLE );\ 中的“Flash_SPI_MISO_PIN”应该为“Flash_SPI_MISO_CLK”,“Flash_SPI_MOSI_PIN”应该为“Flash_SPI_MOSI_CLK”。 另外,“/*配置SPI的MF103-霸道引脚*/”语句有问题。 24、P278页:“而这个液晶屏的种颜色分量的数据线都有8根”病句。 25、P282页:图26-13中的“LCD_BD00~LCD_BD11”、“LCD_BD13”、“LCD_BD15”中的“LCD_BD”应该是“LCD_DB”。 26、P290页:(2)和(3)表述的内容是一样的。(2)是不是应该介绍FSMC_AddressHoldTime? 27、P399页:“产生一次中断的时间等于1/(CK_CLK×ARR)”应该是“1/CK_CLK×ARR”。 28、P400页:“定时器计数方式,可是在为向上计数、向下计数以及3种中心对齐模式”应该为“定时器计数方式,可设置为向上计数、向下计数以及中心对齐3种模式”。 29、P433页:高级定时器宏定义中的“ADVANCE_TIM_Period”应该是“ADVANCE_TIM_PERIOD”,“ADVANCE_TIM_Prescaler”应该是“ADVANCE_TIM_PSC”。 30、P625页:“解锁后擦除扇区操作可调用:Flash_EraseSector完成”,但是代码清单中的函数却是“Flash_ErasePage”。 30、P379页:图29-4中的“JL[1:0]”应该为“JL[2:0]”吧? 31、P379页:“如果JL=00(1个转换)”,1个转换的话,那JL应等于01吧? 32、P380页:“ADCLK=14MHz(最高),采样时间设置为1.5周期(最快)”中应该是“ADC_CLK”? 33、P119页:图15-1中的阴影6中,“APBI预分频器”应该是“APB1预分频器”。 34、P30页:代码清单5-2中把GPIOB端口全部输出高电平的赋值语句不应该是 “*GPIOB_ODR= 0xFFFF”吗?代码清单5-3同上。 35、P32页:“(2)地址偏移”段中“本寄存器的偏移地址是0x18”应是“0x10”。 36、P32页:图5-6中,“位15:0”后面的“BRy:设置端口x的位y”应该是“BSy”。 37、P33页:代码清单5-4中“#define AHBPERIPH_BASE(PERIPH_BASE+0x00020000)”为什么是“0x00020000”,前面介绍的AHB的总线基地址不是“0x40018000”吗?看了下存储器映射图,0x40018000~0x400183FF地址对应的是外设SDIO,0x40018400~0x4001FFFF地址对应的是Reserved,是因为这两个外设没用吗? 38、P28页:图5-5寄存器映射中ADC3上侧的Reserved对应的地址0x4001400-0x40017FFF应该是0x40014000-0x40017FFF。DMA2上侧的Reserved对应的地址0x40020400-0x40020FFF应该是0x40020800-0x40020FFF。 39、P78页:“(3)Stm32f103.h”应该是“(3)stm32f103.h”。 40、P108页:“3.统一公式”代码中的“0x00FFFFFF”多了一个“F”,应该是“0x000FFFFF”,另外,“addr & 0x00FFFFFF屏蔽了高3位”应该是“0x000FFFFF”。 41、P109页:代码清单13-2中的“n(0~16)”是否应该是“n(0~15)”? 42、P137页:“还有另外7根用于特定的外设事件,见表17-1”中的“7根”应该是“4根”吧? 43、P147页:“在STM32F103中,只有位7~位3这高4位有效”中的“位7~位3”是5位啊。。。 44、P148页:“如果当两个的软件优先级都配置成一样,那么就比较它们在中断向量表中的硬件编号,编号越小,优先级越高。”SysTick的是内核外设,没有硬件编号,该怎么理解这段话? 45、P162页:“USART引脚在STM32F103ZET6芯片上的具体分布见表20-3。”中的型号错误,应该是“STM32F103VET6”。 46、P195页:“现在被广泛地用于系统内多个集成电路(I2C)间的通信。”中的“(I2C)”应该是“(IC)”吧? 47、P213页:“只是它在发送数据的时候,使用for循环控制发送多个数据”说的代码23-8中并无“for循环”,应该是“while循环”。 48、P216页:表23-2中的“38”和“39”不应该灰显,总共写入22个数据,并未写到这两个地址。 49、P219页:代码的第94行和103行的大括号是多余的吗?可以直接去掉吗?
|