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

當前位置:首頁 > 單片機 > 單片機
[導讀]注意:要讓S3C2440的一路SPI去控制外設,就必須把給nSSn外接一個上拉電阻!才能保證數(shù)據(jù)的正常傳輸??梢栽僬乙粋€I/0口來控制74HC595的片選。74HC595是8位串行輸入轉并行輸出移位寄存器。74HC595引腳圖!控制原理圖:

注意:要讓S3C2440的一路SPI去控制外設,就必須把給nSSn外接一個上拉電阻!才能保證數(shù)據(jù)的正常傳輸??梢栽僬乙粋€I/0口來控制74HC595的片選。

74HC595是8位串行輸入轉并行輸出移位寄存器。74HC595引腳圖!

控制原理圖:

RCK也就是STCP ,在采集數(shù)據(jù)前要給RCK低電平,采集完信號要給高電平。

RCK(12腳):上升沿時移位寄存器的數(shù)據(jù)進入數(shù)據(jù)存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當移位結束后,在RCK端產(chǎn)生一個正脈沖(5V時,大于幾十納秒就行了。我通常都選微秒級),更新顯示數(shù)據(jù)。

控制圖程序:

void SPI_TEST(void)
{
int i;
U32 k;
Uart_Printf("SPI COMMNICATIONn");
Uart_Printf("SPI0 is master,SPI1 isslave!n");
SPI_Init();
rGPBCON = 0x15400;
while(1)
{
for(i=0;i<19;i++)
{
rGPBDAT=0x00;
while(!(rSPSTA0&0x01));
rSPTDAT0=data[i];
delay(1000);


rGPBDAT=0xFF;
delay(1000);
}
}
Uart_Printf("nthat's ok!n");
}
void SPI_Init(void)
{
rGPECON=(2<<26)|(2<<24)|(2<<22);
rGPGCON=(3<<14)|(3<<12)|(3<<10)|(3<<6)|(1<<4);
rGPGUP&=0xFF13;
rGPEUP&=0xC7FF;
rSPPRE0=PCLK/2/ucSpiBaud-1;
rSPCON0=(0<<5)|(1<<4)|(1<<3)|(0<<2)|(0<<1)|(0<<0);
rSPPRE1=PCLK/2/ucSpiBaud-1;
rSPCON1=(0<<5)|(1<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0);
rSPPIN0=(0<<2)|(1<<1)|(0<<0);
rGPGDAT&=0xFFFB;

}
void delay(U32 dly)
{
U32 i;
for(;dly>0;dly--)
for(i=0;i<50000;i++);
}

同時可以把74HC595移出的數(shù)據(jù)用SPI讀取

while(!(rSPSTA0&0x01));
k= rSPRDAT1;
Uart_Printf("RX %xn",k);

入圖


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