SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
mangui zhang:
SCICLK由LSPCLK和波特率寄存器共同决定的
SCICLK是指你的SCI外设模块的CLK时钟
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
mangui zhang:
看看下面说明 希望能给你带来帮助
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
Huifeng Liu:
回复 mangui zhang:
恩恩,问题里面有一地方错了,最后那个问题我想问的是:SCICLK的公式是什么?
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
囧:
回复 Huifeng Liu:
你用的是F28035?
如果是请参见SPRUGH1C SCI user guide SCIHBAUD寄存器:
SCI 16-bit baud selection Registers SCIHBAUD (MSbyte) and SCILBAUD (LSbyte) areconcatenated to form a 16-bit baud value, BRR.The internally-generated serial clock is determined by the low speed peripheral clock (LSPCLK)signal and the two baud-select registers. The SCI uses the 16-bit value of these registers to selectone of 64K serial clock rates for the communication modes.The SCI baud rate is calculated using the following equation:
波特率寄存器非0时的公式,BBR就是波特率寄存器高地位合并后的值。
SCI Asynchronous Baud = LSPCLK/((BRR +1)* 8)
如果BBR =0 那波特率就是
SCI Asynchronous Baud = LSPCLK/16
SCICLK就是波特率的意思。
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
Huifeng Liu:
回复 囧:
感觉你说的不对,SCICLK是SCI的时钟周期,波特率是每秒能够发送的位数,而发送一位需要8个SCI时钟周期。我就是没有弄清楚波特率计算公式里那个(+1)是为什么。。。。。
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
囧:
回复 Huifeng Liu:
这样看来SCICLK就是BRR的值,就是写在SCILBAUD里面的值。+1可能是内部的一些补偿机制。
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
user5114825:
回复 囧:
您好,我想知道这个具体的计算过程是怎样的?
比如,我设置
pSciRegs->SCIHBAUD = 0x0000; pSciRegs->SCILBAUD = 0x00C2;
为何计算出来SCI Asynchronous Baud=9600 ,我设置的LSPCLK=15MHz
SCI的时钟周期SCICLK由LSPCLK和波特率寄存器共同决定,这句话对吗?那然后SCICLK的是什么呀?望大神解答。。。。
rookiecalf:
回复 user5114825:
(15000000/9600)*8-1=194=0xC2