您的位置:
OpenADSP社区论坛
->
Blackfin专区
->
新手上路
-> [原创]BF51x无法调出SPI0_SCK
本帖共有
549
个阅读者
[原创]BF51x无法调出SPI0_SCK
Ling_Zero00
(论坛新手)
头衔:
社区公民
帮派:
无帮无派
帖数:
37
金钱:
436
积分:
50
注册时间:
2014/9/16
小
大
楼主
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
[原创]BF51x无法调出SPI0_SCK
程序如下,我始终跳不出SPI0的SCK信号(示波器显示一直为高)
void Set_PLL(int pmsel,int pssel)
{
int new_PLL_CTL;
*pPLL_DIV = pssel;
asm("ssync;");
new_PLL_CTL = (pmsel & 0x3f) << 9;
*pSIC_IWR |= 0xffffffff;
if (new_PLL_CTL != *pPLL_CTL)
{
*pPLL_CTL = new_PLL_CTL;
asm("ssync;");
asm("idle;");
}
}
/****************************************************************************
* 名称 : Init_DDR
* 功能 : 初始化DDR
* 入口参数 :无
* 返回值 :无
****************************************************************************/
void Init_SDRAM(void)
{
*pEBIU_SDRRC = 0x00000817;
*pEBIU_SDBCTL = 0x00000025;
*pEBIU_SDGCTL = 0x0091998d;
ssync();
}
/****************************************************************************
* 名称 : Init_EBIU
* 功能 : 初始化EBIU
* 入口参数 :无
* 返回值 :无
****************************************************************************/
void Init_EBIU(void)
{
*pEBIU_AMBCTL0 = 0x7bb07bb0;
*pEBIU_AMBCTL1 = 0x7bb07bb0;
*pEBIU_AMGCTL = 0x000f;
}
/****************************************************************************
* 名称 :InitPorts
* 功能 :初始化端口
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void init_port(void)
{
*pPORTG_FER = PG11|PG12|PG13|PG14|PG15; //set SPI0的SCK、MISO、MOSI
*pPORTG_MUX = 0x0000; //设置复用功能
*pPORTH_FER |= PH8;
ssync();
}
void SPIinit(void)
{
*pSPI0_BAUD=10000; //设置波特率
*pSPI0_FLG |=FLS2;
*pSPI0_CTL = 0x1101|CPHA| CPOL;
*pSPI0_CTL = (*pSPI0_CTL | SPE);//使能SPI0
}
//延迟函数
void delay(int tem)
{
int j,i;
for(i=tem;i>0;i--)
{
for(j=5000000;j>0;j--)
{
j=j;
}
}
}
void main( void )
{
/* Begin adding your custom code here */
Set_PLL(16,4); //初始化内核和系统时钟
Init_EBIU(); //初始化EBIU外部总线
init_port(); //初始化GPIO口
SPIinit();
while(1){
*pSPI0_FLG = 0x0504; //PF0脚置高
//Red_data();
delay(10);
// Red_data();
*pSPI0_FLG = 0x0104;
delay(10);
}
}
ADSP
等级:
2014/10/24 14:35:33
编辑帖子
帖子评价
单帖屏蔽
删除帖子
andy
(论坛版主)
头衔:
社区公民
帮派:
无帮无派
帖数:
2287
金钱:
11132
积分:
2263
注册时间:
2011/6/8
小
大
第
1
楼
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
SPI时钟必须在发送数据时才会出现,数据发送完成,时钟就会消失,你的代码我始终没有看到数据发送。
注意,是发送数据时产生,不是读取接收数据缓存时产生。
这家伙很懒,什么也没有留下!
等级:
2014/10/24 23:03:44
编辑帖子
帖子评价
单帖屏蔽
删除帖子
Powered by
OpenADSP
Copyright © 2010
www.
Openadsp
.com
. All rights reserved.159150 Call, 1 Queries, Processed in 0.031250 second(s),