日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]spi速率計算公式為:PCLK / (CPSDVSR *[SCR+1])公式出處:lpc1114用戶手冊SSP章節(jié)CR0寄存器的bit15:bit8定義的解釋里面PCLK是當前SSP的時鐘,CPSDVSR是寄存器CPSR值,SCR是CR0寄存器bit15:bit8的值。所以spi的速率受

spi速率計算公式為:PCLK / (CPSDVSR *[SCR+1])

公式出處:lpc1114用戶手冊SSP章節(jié)CR0寄存器的bit15:bit8定義的解釋里面

PCLK是當前SSP的時鐘,CPSDVSR是寄存器CPSR值,SCR是CR0寄存器bit15:bit8的值。

所以spi的速率受到了3個寄存器值的影響,這3個寄存器分別是:

1. LPC_SYSCON->SSP1CLKDIV或者 LPC_SYSCON->SSP0CLKDIV(這是SSP的分頻寄存器)

2. LPC_SSP1->CR0(這是SSP控制寄存器0,其中bit15:bit8決定速率)

3. LPC_SSP1->CPSR(這是SSP時鐘預分頻寄存器)

得到這3個寄存器的值,就可以計算出當前的spi速率值,例如下面的SPI1初始化函數(shù):

voidSPI1_Init(void){uint8_ti,Clear=Clear;//Clear=Clear:用這種語句形式解決編譯產(chǎn)生的Waring:neverused!LPC_SYSCON->PRESETCTRL|=(0x1<<2);//禁止LPC_SSP1復位LPC_SYSCON->SYSAHBCLKCTRL|=(0x1<<18);//允許LPC_SSP1時鐘bit18LPC_SYSCON->SSP1CLKDIV=10;//10分頻:50/10=5MhzLPC_SYSCON->SYSAHBCLKCTRL|=(1<<16);//使能IOCON時鐘(bit16)LPC_IOCON->PIO2_1&=~0x07;LPC_IOCON->PIO2_1|=0x02;//把PIO2_1選擇為LPC_SSPCLKLPC_IOCON->PIO2_2&=~0x07;LPC_IOCON->PIO2_2|=0x02;//把PIO2_2選擇為LPC_SSPMISOLPC_IOCON->PIO2_3&=~0x07;LPC_IOCON->PIO2_3|=0x02;//把PIO2_3選擇為LPC_SSPMOSILPC_SYSCON->SYSAHBCLKCTRL&=~(1<<16);//禁能IOCON時鐘(bit16)//8位數(shù)據(jù)傳輸,SPI模式,CPOL=1,CPHA=1,空閑時CLK為1,SCR=4LPC_SSP1->CR0=0x04C7;//預分頻值(注意:這里必須為偶數(shù)2~254)LPC_SSP1->CPSR=10;LPC_SSP1->CR1&=~(1<<0);//LBM=0:正常模式LPC_SSP1->CR1&=~(1<<2);//MS=0:主機模式LPC_SSP1->CR1|=(1<<1);//SSE=1:使能SPI1//清空RxFIFO,LPC1114收發(fā)均有8幀F(xiàn)IFO,每幀可放置4~16位數(shù)據(jù)for(i=0;i<8;i++){Clear=LPC_SSP1->DR;//讀數(shù)據(jù)寄存器DR將清空RxFIFO}}

上面例子中,主頻50MHz,LPC_SYSCON->SSP1CLKDIV值為10,即PCLK=5MHz;LPC_SSP1->CR0=0x04c7,即bit15:bit8為4,即SCR=4;LPC_SSP1->CPSR=10;帶入公式計算得出,現(xiàn)在的SPI速率應該是100KHz.

上圖中,示波器,橫向每格表示5微秒,圖中一個周期就是10微秒,即100KHz,實測與理論完全一致。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉