www.openedv.com
您好,欢迎您!    会员注册 | 登入 
公告:欢迎访问www.openedv.com开源电子网,开源共享共同进步,祝您新年快乐,万事如意!
设为首页 | 加入收藏
论坛首页 » STM32/STM8专区 前往: 
<<例说STM32>>勘误贴/问题贴
发表人 内容
[Down] [Up]
[楼主位] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

<<例说STM32>>第一版印刷,其中难免有些有错误的地方,希望大家把发现的问题,都在这里提出来.谢谢!
我会对问题进行解答和更正.谢谢!



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[1楼] smy096


等级:NO
注册时间:
2011/01/20 08:21
文章: 29
离线

小胖俺看原子哥书上P127页的定时器那块发现一个小小的问题哈,
哥在这页上写TIM3的时钟为72M,然后在下一页却写时钟为36M,
然后俺找示波器看周期,发现设置为Timerx_Init(1,7199)时候,
实际定时值为200us,Timerx_Init(2,7199)为300us,依次往后
类推,得到的应该是当前arr+1的定时值哈,求指点哈~~


[加为好友] 回复 引用回复
[Down] [Up]
[2楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

我在电子档上没搜索到:TIM3的时钟为72M.这句话.回头我看看书吧.
 



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[3楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

 回复【1楼】 smy096 :
---------------------------------
我回家翻了2.0的手册,没找到:TIM3的时钟为72M这句话.
这里可以告诉你.
TIM3的时钟确实是72M(使用我们的源码),这点你可以看时钟树图,在<<STM32参考手册>>,里面清楚的说明了这个结果. 记得有个倍频就可以了.
既然时钟为72M.
所以Timerx_Init(1,7199),设定TIM的计数频率为10Khz.从0加到1,总共需要2个计数,即200us.
其他的依次类推.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[4楼] hpy6666


等级:NO
注册时间:
2011/07/02 16:11
文章: 69
来自: 江苏&nbsp;
离线

原子哥lcd.h中的说明有误:
void LCD_Init(void) 
{  
  RCC->APB2ENR|=1<<3;//先使能外设PORTB时钟 
  RCC->APB2ENR|=1<<4;//先使能外设PORTC时钟 

RCC->APB2ENR|=1<<0;    //开启辅助时钟 
JTAG_Set(SWD_ENABLE);  //开启SWD 
  
//PORTC6~10复用推挽输出 ??这里感觉复用推挽不对应该是3=0011(modex=00,cnfy=11) 
GPIOC->CRH&=0XFFFFF000; //通用推挽输出50MHZ 3=0011(modex=00,cnfy=11)
GPIOC->CRH|=0X00000333;  
GPIOC->CRL&=0X0000FFFF; 
GPIOC->CRL|=0X33330000;   
GPIOC->ODR|=0X07C0;   
//PORTB 推挽输出  
GPIOB->CRH=0X33333333; 
GPIOB->CRL=0X33333333;    
GPIOB->ODR=0XFFFF; 


[加为好友] 回复 引用回复
[Down] [Up]
[5楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【4楼】 hpy6666 :
---------------------------------
是推挽输出,复用推挽,可能注释有误.
以代码为准,注释可能有误!



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[6楼] 十八铜人

等级:NO
注册时间:
2011/07/25 20:23
文章: 37
来自: 海外
离线

p144 “ 因为我们在 Stm32_Clock_Init 函数里面已经初
始化 APB1的时钟为 2分频,所以,TIM3 的时钟为 36M,”
貌似是72M吧。


[加为好友] 回复 引用回复
[Down] [Up]
[7楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【6楼】 十八铜人 :
---------------------------------
对,是72M.
但是这个72M,不是由APB1来的,apb1得到的是36M,但是通用定时器,在其时钟分频数不为1的条件下,会倍频.
所以频率=2*APB1的分频频率.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[8楼] 十八铜人

等级:NO
注册时间:
2011/07/25 20:23
文章: 37
来自: 海外
离线

我的意思是36M是不是印刷错误,应该改成72M。

还是我理解的有问题?


[加为好友] 回复 引用回复
[Down] [Up]
[9楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【8楼】 十八铜人 :
---------------------------------
不是印刷错误,是我的错误.呵呵.出版社按我的稿印刷的.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[10楼] 十八铜人

等级:NO
注册时间:
2011/07/25 20:23
文章: 37
来自: 海外
离线

回复【9楼】 正点原子 :
---------------------------------
哦 


[加为好友] 回复 引用回复
[Down] [Up]
[11楼] 沉睡的木瓜

等级:NO
注册时间:
2011/07/23 20:17
文章: 1
离线

其他都挺好的,就是光盘不怎么给力啊。时间很短,才到第三章。


[加为好友] 回复 引用回复
[Down] [Up]
[12楼] zhpnncjdsg

等级:NO
注册时间:
2011/06/30 12:44
文章: 1
离线

key.c的那个文件夹的那个程序少一个头文件夹“sys.h” 没有这个程序不能编译


[加为好友] 回复 引用回复
[Down] [Up]
[13楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【12楼】 zhpnncjdsg :
---------------------------------
谢谢



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[14楼] newmandirl

等级:NO
注册时间:
2011/09/02 09:17
文章: 21
离线

你好,我想问问我按照书本上的实验八PWM的例子,只改了IO口之后就没有效果了,一直同样的亮度,不知道是什么原因呢?还有的是用了PWM2模式是不是可以不用管TIM3中断呢?因为我看到在main函数当中没有了Timerx_Init。。。请指教一下。。


[加为好友] 回复 引用回复
[Down] [Up]
[15楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【14楼】 newmandirl :
---------------------------------
pwm必须通过某些固定的IO口来输出的,你随意换,怎么能行呢?
你还没理解PWM,及它与IO口之间的关系,弄懂了这个再说。
另外,这里是书本的勘误贴,提问请单独开贴,强烈建议提问之前先搜索论坛,很多问题别人已经问过了。



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[16楼] 螃蟹爱虫


等级:NO
注册时间:
2011/09/03 00:18
文章: 372
来自: 广东
离线

原大哥,你好。《例说STM32》P195:ADC_SQR1的位19:15描述中的“这些位定义了转换序列中的第16个转换通道的编号(01~7)”,应为“这些位定义了转换序列中的第16个转换通道的编号(01~17)”,请确认!


[加为好友] 回复 引用回复
[Down] [Up]
[17楼] 螃蟹爱虫


等级:NO
注册时间:
2011/09/03 00:18
文章: 372
来自: 广东
离线

另外P210处第一行,“DMA_IFCR的各位就是用来清除DMA_ISR的对应位的,通过写0清除”正确为“DMA_IFCR的各位就是用来清除DMA_ISR的对应位的,通过写1清除”.


[加为好友] 回复 引用回复
[Down] [Up]
[18楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【16楼】 螃蟹爱虫 :
---------------------------------
却是是bug,应该是01~17.

回复【17楼】 螃蟹爱虫 :
---------------------------------
这也是一个bug.

谢谢你的两个建议.下次在我这里买东西,送你一个18b20.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[19楼] 螃蟹爱虫


等级:NO
注册时间:
2011/09/03 00:18
文章: 372
来自: 广东
离线

不客气,我也希望论坛能向更好的方向发展,送东西就不必了,我也知道你也是需要成本的,我只希望在这里提有关STM32的问题能够得到大家以及原子的积极回应就好啦,这样大家也能共同进步,呵呵。。


[加为好友] 回复 引用回复
[Down] [Up]
[20楼] 螃蟹爱虫


等级:NO
注册时间:
2011/09/03 00:18
文章: 372
来自: 广东
离线

P264,SD卡初始化第三步后,应该增加一步。发送CMD8命令获取SD卡支持的电压以及版本等操作条件寄存器。。。程序是写了这一步,文字叙述没写。。


[加为好友] 回复 引用回复
[Down] [Up]
[21楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【20楼】 螃蟹爱虫 :
---------------------------------
谢谢



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[22楼] qqae

等级:NO
注册时间:
2011/10/18 11:00
文章: 5
来自: 北京
离线

昨天去参加研讨会,领到了你的大作,谢谢! 以后还望多多指教。 有什么工程项目要做的话也分我一点。


[加为好友] 回复 引用回复
[Down] [Up]
[23楼] raosibin

等级:NO
注册时间:
2011/10/18 15:42
文章: 12
离线

P208 表20.1 通道5中,USART3_RX ,应该为USART1_RX


[加为好友] 回复 引用回复
[Down] [Up]
[24楼] raosibin

等级:NO
注册时间:
2011/10/18 15:42
文章: 12
离线

P203 第三行,设置ADC,并开启ADC_CR2的AWDEN位,是否是设置ADC,并开启ADC_CR2的TSVREFE位呢


[加为好友] 回复 引用回复
[Down] [Up]
[25楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【23楼】 raosibin :
---------------------------------
确实有误。
ADC_CR2有TSVREFE位么?
我没发现哦。



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[26楼] raosibin

等级:NO
注册时间:
2011/10/18 15:42
文章: 12
离线

回复【25楼】 正点原子 :
---------------------------------
ADC_CR2 的23位不是写的TSVREFE 位吗,书上P193页图18.3 上也有呢。参考手册上P173也是这样说的啊。难道是我看错了啊


[加为好友] 回复 引用回复
[Down] [Up]
[27楼] raosibin

等级:NO
注册时间:
2011/10/18 15:42
文章: 12
离线

回复【25楼】 正点原子 :
---------------------------------
更何况AWDEN 是ADC_CR1上的位吧


[加为好友] 回复 引用回复
[Down] [Up]
[28楼] raosibin

等级:NO
注册时间:
2011/10/18 15:42
文章: 12
离线

P221 SPI总线时序图中(a)里面 MISI 应为MOSI,两个时序图好像也颠倒了吧?即(a)中的应该是CPHA = 1的时序图,不知道我的理解对不对


[加为好友] 回复 引用回复
[Down] [Up]
[29楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【27楼】 raosibin :
---------------------------------
不好意思,当时写的时候,看的是第七版的资料.上面标错了...我就跟着错了...
回复【28楼】 raosibin :
---------------------------------
这个我回家考证一下.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[30楼] haspire

等级:NO
注册时间:
2011/10/17 21:52
文章: 31
来自: 福建
离线

   原子哥,书上P76最后一行的 GPIOA->CRH1 = 0X000008B0; 是不是有问题啊,是不是应该是 GPIOA->CRH |= 0X000008B0;我觉得应该是”按位或“而不是1啊?


[加为好友] 回复 引用回复
[Down] [Up]
[31楼] dby12

等级:NO
注册时间:
2011/10/26 21:46
文章: 7
离线

回复【楼主位】 正点原子 :
---------------------------------
我的stm32读到的LCD ID是8989,可<不完全手册>上介绍的是9230。光盘中的资料没有关于8989的,有些命令不一样。不知大家发现没?


[加为好友] 回复 引用回复
[Down] [Up]
[32楼] fengye1966


等级:NO
注册时间:
2011/10/27 15:13
文章: 53
来自: 北京
离线

回复【30楼】 haspire :
---------------------------------
你说的对,是“按位或”。原子哥最近有点忙。


[加为好友] 回复 引用回复
[Down] [Up]
[33楼] fengye1966


等级:NO
注册时间:
2011/10/27 15:13
文章: 53
来自: 北京
离线

回复【31楼】 dby12 :
---------------------------------
命令的确不一样,不过程序上已经都考虑到了,做了相应的处理。请参考光盘中SSD1289资料.谢谢


[加为好友] 回复 引用回复
[Down] [Up]
[34楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【30楼】 haspire :
---------------------------------
这个应该是笔误了.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[35楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

fengye1966 提出:
原子哥,我先提出关于这个问题的一个勘误。《例说STM32》125页图12.5最后寄存器的最后一位标志“UIE”应该是“UIF”。我看勘误贴中没有这个信息,麻烦您转过去,谢谢。



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[36楼] yinyangdianzi


等级:NO
注册时间:
2010/12/15 09:05
文章: 193
来自: 上海
离线

我来支持一下



STM32芯片---上海银洋电子021-53086303
<br>欢迎来电15900733302         采购找张经理
[加为好友] 回复 引用回复
[Down] [Up]
[37楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

书本介绍void uart_init(u32 pclk2,u32 bound)这个函数的时候,最后的中断配置有误.
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//组2,最低优先级 
应该为:
MY_NVIC_Init(2,3,USART1_IRQChannel,2);//组2,最低优先级 




我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[38楼] 在路上9303

等级:NO
注册时间:
2011/11/08 21:35
文章: 11
离线

#define GPIOD_ODR_Addr    (GPIOD_BASE+12) //0x4001140C 
#define GPIOE_ODR_Addr    (GPIOE_BASE+12)  //0x4001180C 
#define GPIOF_ODR_Addr    (GPIOF_BASE+12)  //0x40011A0C    
#define GPIOG_ODR_Addr   (GPIOG_BASE+12)  //0x40011E0C   

GPIOF_BASE和GPIOG_BASE     注释应该是错了吧???


这篇文章被编辑了 1 次. 最近一次更新是在 2011/11/15 12:07

[加为好友] 回复 引用回复
[Down] [Up]
[39楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【38楼】 在路上9303 :
---------------------------------
没错啊.
144脚的型号有GPIOF和G...



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[40楼] 在路上9303

等级:NO
注册时间:
2011/11/08 21:35
文章: 11
离线

回复【39楼】 正点原子 :
---------------------------------
不是,我说的是GPIOF和GPIOG寄存器基地址  你后边的注释好像错啦


[加为好友] 回复 引用回复
[Down] [Up]
[41楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

这个可能有误.呵呵.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[42楼] lsh3721

等级:NO
注册时间:
2011/11/22 14:04
文章: 3
离线

回复【楼主位】 正点原子 :
---------------------------------
书上有个地方印错了,第81页最上面第二排图 CNF0印错成CNF4了


[加为好友] 回复 引用回复
[Down] [Up]
[43楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

谢谢



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[44楼] 科科1987


等级:NO
注册时间:
2011/11/27 20:54
文章: 91
离线

int main(void)
{
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72);
//延时初始化
uart_init(729600);
//串口初始化
LED_Init();
//初始化与LED连接的硬件接口
Timerx_Init(50007199);//10Khz的计数频率,计数到5000500ms
while(1)
{
LED0=!LED0;
delay_ms(200);
}
}
这里的代码和之前大同小异,此段代码对TIM3进行初始化之后,进入死循环等待TIM3溢出中断,当TIM3_CNT的值等于TIM3_ARR的值的时候,就会产生TIM3的更新中断,然后在中断里面取反LED1TIM3_CNT再从0开始计数。
下载与测试,在完成软件设计之后,我们将编译好的文件下载到MiniSTM32开发板上,观看其运行结果是否与我们编写的一致。如果没有错误,我们将看DS0不停闪烁(每400ms闪烁一次),而DS1也是不停的闪烁,但是闪烁时间较DS0慢(1s一次)。

--------------------------------

Timerx_Init(50007199);//10Khz的计数频率,计数到5000500ms

delay_ms(200);

是不是应该是DS0200ms闪烁一次,而DS10.5s闪烁一次?



[加为好友] 回复 引用回复
[Down] [Up]
[45楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【44楼】 科科1987 :
---------------------------------
你可以实际下载看看.
为什么是一倍的关系?
因为亮200ms,灭200ms,需要400ms才一个周期.
所以是0.4s,同样,1s也是这么来的.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[46楼] 科科1987


等级:NO
注册时间:
2011/11/27 20:54
文章: 91
离线

回复【45楼】 正点原子 :
---------------------------------
板子还没有收到,只能脑袋里想想,现在明白了,呵呵

 



这篇文章被编辑了 2 次. 最近一次更新是在 2011/11/27 22:15

[加为好友] 回复 引用回复
[Down] [Up]
[47楼] zhangjikuan0521


等级:NO
注册时间:
2011/11/28 10:52
文章: 21
来自: 山东
离线

原子大哥,在DMA实验里使能DMA时钟后是不是要加至少两个nop()等待时钟稳定呢,我写的时候按照你的来DMA不工作,加上nop()便OK了,我看的还是1.0,刚才下2.0没成功,所以不知道2.0修改了吗,为了完善不完全手册还是提出来了,呵呵


[加为好友] 回复 引用回复
[Down] [Up]
[48楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【47楼】 zhangjikuan0521 :
---------------------------------
是应该加延时的.
最新的代码应该修改过来了吧 ?



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[49楼] 张洋

等级:NO
注册时间:
2010/12/14 10:47
文章: 337
来自: 广州
离线

P58下面,“nms,其参数nms为要延时的微秒数”---》应为“毫秒数”



希望openedv能给大家提供一个友好的技术交流平台!
[加为好友] 回复 引用回复
[Down] [Up]
[50楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

 67页   倒数第3行   中断接挂->中断解挂    
72页  倒数第5行 1,下降沿;2,上升沿
        倒数第9行   下降沿触发
73页  12行   //line BITx上事件上升沿触发



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[51楼] mikeliujia

等级:NO
注册时间:
2011/09/09 12:16
文章: 1
来自: 武汉
离线

回复【楼主位】 正点原子 :
---------------------------------
130页,图13.1中第11位OC2PF应改为OC2PE。
133页,PWM_init(900,0);        //不分频。PWM的频率 = 7200/900 Hz =8kHz       这句的注释有问题吧?
134页,倒数第五行:3线或4线的穿行SPI接口方式,应把“穿行”改为“串行”


这篇文章被编辑了 1 次. 最近一次更新是在 2011/12/21 15:08

[加为好友] 回复 引用回复
[Down] [Up]
[52楼] cjq_enjoy

等级:NO
注册时间:
2011/07/07 07:36
文章: 8
离线

http://www.openedv.co


[加为好友] 回复 引用回复
[Down] [Up]
[53楼] ssugang

等级:NO
注册时间:
2012/02/01 16:52
文章: 4
离线

10页  续表1.1 倒数第二行重叠
108页 VLED1=!LED1; 应该是 LED1=!LED1;


[加为好友] 回复 引用回复
[Down] [Up]
[54楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【53楼】 ssugang :
---------------------------------
谢谢.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[55楼] duxing47

等级:NO
注册时间:
2012/02/16 14:17
文章: 11
离线

STM32不完全手册_V2.1.pdf
12页图中W25X16指出的是16M
13页介绍的却是2M


[加为好友] 回复 引用回复
[Down] [Up]
[56楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

16M是位.
2M是字节.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[57楼] liuliuzelin


等级:NO
注册时间:
2011/04/12 19:05
文章: 64
来自: 辽宁
离线

回复【37楼】 正点原子 :

---------------------------------
书本介绍void uart_init(u32 pclk2,u32 bound)这个函数的时候,最后的中断配置有误. 
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//组2,最低优先级  
应该为: 
MY_NVIC_Init(2,3,USART1_IRQChannel,2);//组2,最低优先级
————————————————————————————————————
这个之前的配置应该没错。。。应该是3
组2为2位抢占优先级,0~3....所以最低应该配置为3



自信人生一百年
[加为好友] 回复 引用回复
[Down] [Up]
[58楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

最近在学习LCD TFT,参考了下正点原子师兄写的不完全手册中的OLED和LCD部分,有这样一段话 (PDF搜"假读")

“在8080 方式下读数据操作的时候,我们有时候(例如读显存的时候)需要一个假读命
(Dummy Read),以使得微控制器的操作频率和显存的操作频率相匹配。”

好像不合适,我用的LCD的控制器是 HX8347-A 的,datasheet上是这样说的
When the data is written into the GRAM from the 
MPU, it is first written into the write-data latch and then automatically written into the 
GRAM by internal operation. Data is read through the read-data latch when reading from 
the GRAM. Therefore, the first read data operation is invalid and the following read data 
operations are valid. 
意思是是假读的原因是中间有个锁存器吧? 
如果是频率问题,仅仅是一次假读好像没有意义吧?


这篇文章被编辑了 1 次. 最近一次更新是在 2012/02/18 21:23


决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[59楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

不同的手册说法有些区别.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[60楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

回复【59楼】 正点原子 :
---------------------------------
看了下ILI9320的datasheet
搜 latch , 在Block Diagram 上看到也是有锁存

用dummy搜了整篇文档,好像没有对 dummy read 的解释。



决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[61楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

找到了,(搜invalid) 在 "6. Block Description" 那一节是这样解释的

ILI9320 has a 16-bit index register (IR), an 18-bit write- data register (WDR), and an  18-bit read-data register 
(RDR).

The IR is the register to  store index information from control registers and the internal GRAM. The 
WDR is the register to temporarily store data to be written to control registers and the internal GRAM. The 
RDR is the register to temporarily store data read from the GRAM.

Data from the MPU to be written to the internal GRAM are first written to the WDR and then autom atically
written to the internal GRAM in internal operation. Data are read via the RDR from the internal GRAM. 
Therefore, invalid data are read out to the data  bus when the ILI9320 read the first data from the internal GRAM.

 Valid data are read out after the ILI9320 performs the second read operation.



这篇文章被编辑了 1 次. 最近一次更新是在 2012/02/21 18:33


决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[62楼] roma


等级:NO
注册时间:
2012/02/22 15:42
文章: 21
来自: 北京
离线

回复【楼主位】 正点原子 :
---------------------------------
楼主,请问133页,PWM_init(900,0);        //不分频。PWM的频率 = 72000/900 Hz =8kHz       这句的注释是不是错误的?72000应该是72000000,然后结果是80KHz



每天都要有进步
<br><br>
[加为好友] 回复 引用回复
[Down] [Up]
[63楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

是80K,我的公式也没错,只是计算错了...囧...



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[64楼] 逆风飞扬


等级:NO
注册时间:
2012/02/24 08:33
文章: 22
离线

void PWM_Init(u16 arr,u16 psc)
{    
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1;       //TIM3时钟使能    

GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
  
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出    
GPIOA->ODR|=1<<7;//PA7上拉

TIM3->ARR=arr;//设定计数器自动重装值 
TIM3->PSC=psc;//预分频器不分频

TIM3->CCMR1|=7<<12;  //CH2 PWM2模式  
TIM3->CCMR1|=1<<11; //CH2预装载使能    

TIM3->CCER|=1<<4;   //OC2 输出使能    

TIM3->CR1=0x8000;   //ARPE使能 
TIM3->CR1|=0x01;    //使能定时器3    
}  

这个有误  



加入STM32的学习行列
[加为好友] 回复 引用回复
[Down] [Up]
[65楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

嗯,有人提过了.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[66楼] luoyusheng

等级:NO
注册时间:
2012/03/08 21:35
文章: 1
离线

 STM32不完全手册串口实验中代码与实验代码有一处不符,特纠正一下,以程序代码为主。
PDF文档中代码:


程序中代码:

   RCC->APB2ENR|=1<<2;   //使能PORTA口时钟  
   RCC->APB2ENR|=1<<14;  //使能串口时钟 
   GPIOA->CRH&=0XFFFFF00F; 
   GPIOA->CRH|=0X000008B0;//IO状态设置




[加为好友] 回复 引用回复
[Down] [Up]
[67楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

是的.有的问题



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[68楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

建议:
 手册中讲NVIC的“分组”理解为“分组方式”会不会更妥当?
虽然这个对掌握了NVIC的人已经没什么的了,我第一次看到这里的时候确实是有点吃力的,
那个表,组1,组2,我一开始以为是有5个组。如果解释为5种分组方式,可能会更好理解一点,因为AIRCR[10:8]是用来描述怎样进行优先级分组的。





决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[69楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线





我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[70楼] shaojunyun


等级:NO
注册时间:
2012/02/21 22:33
文章: 30
离线

P146页  TIMx_CCMR1控制CH3和CH4,此处应该为TIMx_CCMR2.
P149页 PA8输出应该为PA8输入。


[加为好友] 回复 引用回复
[Down] [Up]
[71楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

谢谢



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[72楼] shaojunyun


等级:NO
注册时间:
2012/02/21 22:33
文章: 30
离线

原子哥,什么时候会出本不完全手册V2.1?


[加为好友] 回复 引用回复
[Down] [Up]
[73楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

回复【72楼】 shaojunyun :
---------------------------------
不是已经有2.1版了么...



决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[74楼] shaojunyun


等级:NO
注册时间:
2012/02/21 22:33
文章: 30
离线

回复【73楼】 Pony279 :
---------------------------------
真的?传我一份呗(*^__^*) 


[加为好友] 回复 引用回复
[Down] [Up]
[75楼] 冰是睡着的水


等级:NO
注册时间:
2011/12/25 19:43
文章: 79
来自: 广州
离线

回复【楼主位】 正点原子 :
---------------------------------
串口实验,小小问题,第76页GPIOA->CRH1=0X000008B0;应该是  GPIOA->CRH|=0X000008B0;
第101页也是一样。。呵呵,小小问题不想提的,害见笑了。。呵呵


这篇文章被编辑了 1 次. 最近一次更新是在 2012/03/16 20:23


不抛弃,不放弃
[加为好友] 回复 引用回复
[Down] [Up]
[76楼] 冰是睡着的水


等级:NO
注册时间:
2011/12/25 19:43
文章: 79
来自: 广州
离线

回复【75楼】 冰是睡着的水 :
---------------------------------
GPIOA->CRH|=0X000008B0;



不抛弃,不放弃
[加为好友] 回复 引用回复
[Down] [Up]
[77楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

是的,这里有点问题.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[78楼] sundart

等级:NO
注册时间:
2012/03/17 09:42
文章: 1
离线

一个小错字,只为再版时更好!
P99页上图8.3上一行中“当收到收据时”应该改为“当收到数据时”。

另外还有一个问题是在淘宝中的产品介绍页面中“宝贝详情”的“公告”中:“文件系统才用FATFS ”,应该是“文件系统采用FATFS”。


[加为好友] 回复 引用回复
[Down] [Up]
[79楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【78楼】 sundart :
---------------------------------
谢谢



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[80楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

请问原子哥,STM32是可以做双向IO的,为什么LCD驱动里不使用双向的方式,而是在读的时候重新配置IO模式?




 


 




决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[81楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【80楼】 Pony279 :
---------------------------------
双向只能是在开漏输出的模式吧?
如果开漏输出,外部接一堆的上拉电阻....
还不如软件设置输入输出来的方便.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[82楼] Pony279


等级:NO
注册时间:
2012/02/08 19:13
文章: 438
在线

确实,
感觉最底层的读写操作的调用还是挺频繁的,
可惜STM32在开漏的时候没内部上拉。。。



决定从此潜心搞好功课,闲时玩玩板子,逛逛论坛...
[加为好友] 回复 引用回复
[Down] [Up]
[83楼] 正点原子


等级:NO
注册时间:
2010/12/02 10:41
文章: 8089
来自: 湖南
在线

回复【82楼】 Pony279 :
---------------------------------
读操作不常用的.所以,问题不大.



我的淘宝小店:http://shop62103354.taobao.com
[加为好友] 回复 引用回复
[Down] [Up]
[84楼] boyubeiyu

等级:NO
注册时间:
2012/03/27 19:48
文章: 2
来自: 天津
离线

例说stm32书本中P98页倒数第四行“TXIE为发送缓冲区空中断使能位”应该为“TXEIE为发送缓冲区空中断使能位”


[加为好友] 回复 引用回复
[Down] [Up]
[85楼] spydf

等级:NO
注册时间:
2011/10/25 22:44
文章: 11
离线

TC(发送完成),当该位被置位的时候,表示USART_DR内的数据已经被发送完成了。如
果设置了这个位的中断,则会产生中断。该位也有两种清零方式:1 )读USART_SR ,写
USART_DR。2 )直接向该位写 0 。              
读取USART_SR应该改为USART_DR


[加为好友] 回复 引用回复
[Down] [Up]
[86楼] 以枫之名

等级:NO
注册时间:
2012/03/08 12:52
文章: 190
来自: 广东
离线

光盘里的汉字显示例程有个小问题,Show_Font的参数,y、y0要改成U16,Show_Str函数的参数y要改成U16,否则,当y+size>255时,显示会乱掉,字符没问题,汉字就会乱,把Y改成U16就没事了


[加为好友] 回复 引用回复
[Down] [Up]
[87楼] dzc0426

等级:NO
注册时间:
2012/04/11 13:09
文章: 2
离线

回复【37楼】 正点原子 :
--------------------------------
为啥改成2?????不应该是3么~~~百思不得其解


[加为好友] 回复 引用回复
[Down] [Up]
[88楼] dzc0426

等级:NO
注册时间:
2012/04/11 13:09
文章: 2
离线

回复【83楼】 正点原子 :
---------------------------------
书本介绍void uart_init(u32 pclk2,u32 bound)这个函数的时候,最后的中断配置有误.  
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//组2,最低优先级   
应该为:  
MY_NVIC_Init(2,3,USART1_IRQChannel,2);//组2,最低优先级 

为啥改成2?????不应该是3么~~~百思不得其解


[加为好友] 回复 引用回复
[Down] [Up]
[89楼] 爱吃水煮鱼


等级:NO
注册时间:
2012/04/15 18:56
文章: 19
来自: 河北
在线

我发现ALIENTEK这块板子所带的TFT液晶的例程中有个小问题?
调用画圆函数,如果半径比较小的话就不圆了。后来发现是Bresenham算法画圆可能出了点问题,如果是在原基础上改的话应该把这句“di=3-(r<<1);”改为“di=3-(r<<2);”,这样画的圆在小半径的时候可又会比较圆一点。不过还有其它的改法。 



喜欢单片机,没什么道理,就像爱吃水煮鱼,对味而已。
[加为好友] 回复 引用回复
[Down] [Up]
[90楼] ilikerome


等级:NO
注册时间:
2012/04/29 09:13
文章: 1
离线

楼主:

书的P59,以及你的源代码里面,在说delay_ms 的参数nms最大值的时候,有误。

书上及代码注释里为:nms<=0xffffff*8*1000/SYSCLK 

应为:nms<=0xffffff*8/SYSCLK*1000;



[加为好友] 回复 引用回复
 
前往: 

Powered by ALIENTEK工作室 © 粤ICP备12000418号-1