智能车制作

标题: 为什么SCI在32M的时候好使,到64M就不行了呢,频率太高不稳定了吗? [打印本页]

作者: qinlu123    时间: 2012-9-17 11:14
标题: 为什么SCI在32M的时候好使,到64M就不行了呢,频率太高不稳定了吗?
波特率9600,总线时钟64M, SCI0BDL = 0xa0; SCI0BDH = 0x01 ;BR寄存器不该给这个值吗,先写低位再写高位。为啥不行呢?
作者: yukunlinykl    时间: 2012-9-17 11:30
总线频率翻上去了,波特率也翻上去了呀。
作者: qinlu123    时间: 2012-9-17 11:39
yukunlinykl 发表于 2012-9-17 11:30
总线频率翻上去了,波特率也翻上去了呀。

波特率我改了啊,在32M时 SCI0BDL = 0Xd0 ; SCI0BDH = 0X00 ;在64M时 SCI0BDL = 0Xa0 ;SCI0BDH = 0X01 ;
作者: 寒路独行、    时间: 2012-9-17 11:44
我算了一下也没问题啊
作者: qinlu123    时间: 2012-9-17 12:23
寒路独行、 发表于 2012-9-17 11:44
我算了一下也没问题啊

咋回事呢
作者: Post-90s    时间: 2012-9-17 19:40
人品问题
作者: zdhly0401    时间: 2012-9-17 22:16
是不是分频不准,导致波特率不准啊
作者: qinlu123    时间: 2012-9-18 08:32
zdhly0401 发表于 2012-9-17 22:16
是不是分频不准,导致波特率不准啊

可能是吧,咋办呢?

作者: nst11305    时间: 2012-9-19 10:04
波特率不准的话,会出现乱码的,你的是什么状况呢
作者: qinlu123    时间: 2012-9-19 14:51
有规律的乱码,比如发送0xc0接收到的是0x64和0x66混合起来的,发送别的数接收到的又是另外两种或三种数的混合。
作者: qinlu123    时间: 2012-9-19 16:41
终于找到原因了,设置波特率设置寄存器的时候应该先写高位再写低位。中文手册上说错了,我重新看英文的技术手册(英语四级还没过呢没看大明白)隐约的说先写高位。中文手册害死人啊!
作者: qinlu123    时间: 2012-9-19 16:54
新问题又出来了,我用串口猎人接收到的陀螺仪零偏是67,用液晶显示的是103,当然103是对的毫无疑问。这是咋回事呢,SCI正常了啊。
作者: qinlu123    时间: 2012-9-19 16:59
我真的傻啦,67是十六进制的就是103啊!唉老啦。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2