首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求一个MC9S08AC60的通过SPI控制信号收发的程序

求一个MC9S08AC60的通过SPI控制信号收发的程序

求一个MC9S08AC60的通过SPI控制信号收发的程序
void Init_Clock(){
FCDIV = 1;                    //时钟分频器
SYNR = 2;                     //时钟合成器
while(!(CRGFLG&0X08)); //倍频时钟     PLLCLK=8M*3=24M
SMCLK|= 0x80;             //CPU总线时钟 24/2=12M
}
/********************/
/*SPI初始化程序*/
/*******************/
void SPI_Init(void) {
MODRR   = 0x00;        //使用PS4-PS7做SPI0
SPI0CR1 = 0x50;        //SP使能,主机方式,上升沿采样下降沿结束,先传高位MSB,时钟相位=0
SPI0CR2 = 0x00;        //ss端不做输出使能
SPI0BR = 0x20;        //12/6=2M SPI波特率
PTS_PTS7 =1;          //PS7口做/ss片选端并设置高电平
DDRS_DDRS7=1;       //PS7做/ss端口,置为输出口,并将1输出
}
/***************************************/
/*                                             */
/*    SPI发送一个数据子程序     */
/*                                              */
/***************************************/
void SPI_Send(unsigned char data) {
SPI0DR = data;
while(!(SPI0SR&0x20));
}
/***************************************/
/*                                              */
/*    SPI接收一个数据子程序   */
/*                                            */
/**************************************/      
unsigned char SPI_Receive() {
while(!(SPI0SR&0x80));
return(SPI0DR);
}





用codewarrior6.3编译时,有3个错误,
SYNR = 2;                     //时钟合成器
while(!(CRGFLG&0X08)); //倍频时钟     PLLCLK=8M*3=24M                    
这2个地方有错误,请教下高手怎么改
返回列表