智能车制作
标题:
MC9S12DG128系列例程--SPI
[打印本页]
作者:
chiusir
时间:
2008-11-29 06:48
标题:
MC9S12DG128系列例程--SPI
<
>/**************************************************************************************<BR>龙丘MC9S12(DG128)多功能开发板 <BR>Designed by Chiu Sir<BR>E-mail:chiusir@163.com<BR>软件版本:V1.1<BR>最后更新:2008年11月28日<BR>相关信息参考下列地址:<BR>博客: <A target=_blank href="http://longqiu.21ic.org/">http://longqiu.21ic.org</A><BR>淘宝店:<A target=_blank href="http://shop36265907.taobao.com/">http://shop36265907.taobao.com</A><BR>------------------------------------<BR>Code Warrior 4.6<BR>Target : MC9S12DG128B<BR>Crystal: 16.000Mhz<BR>busclock: 8.000MHz<BR>pllclock:16.000MHz</P><P>本程序主要包括以下功能:<BR>1.设置锁相环和总线频率;<BR>2.初始化SPI为400kbps;<BR>3.SPI读函数和写函数。<BR>*****************************************************************************************/<BR>#include <hidef.h> /* common defines and macros */<BR>#include <mc9s12dg128.h> /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</P><P>//----------------------------------------------------- <BR>//延时1毫秒 <BR>void Dly_ms(int ms)<BR>{<BR> int ii,jj;<BR> if (ms<1) ms=1;<BR> for(ii=0;ii<ms;ii++)<BR> for(jj=0;jj<2670;jj++); //busclk:16MHz--1ms<BR>}<BR>//----------------------------------------------------- <BR>//SPI写一个字节<BR>void SPI_Write_Byte(U8 val)<BR>{<BR> SPI0DR = val;<BR> while(!(SPI0SR_SPIF));<BR> return;<BR>}<BR>//----------------------------------------------------- <BR>//SPI读一个字节 <BR>U8 SPI_Read_Byte(void)<BR>{ <BR> while(!(SPI0SR_SPIF));<BR> return SPI0DR;<BR>}<BR>//----------------------------------------------------- <BR>//SPI初始化,速率400kbps <BR>void SPI_Init(void) <BR>{<BR> DDRT = 0xff;<BR> MODRR = 0x00; <BR> SPI0CR2 = 0x10;<BR> SPI0CR1 = 0x5e; <BR> SPI0BR = 0x42; //BR=busclk/((SPPR + 1)· 2^(SPR + 1))=16000/(5*8)=400k <BR>}<BR>//----------------------------------------------------- <BR>//总线频率为16M <BR>void setbusclock(void)<BR>{ <BR> CLKSEL=0X00; //disengage PLL to system<BR> PLLCTL_PLLON=1; //turn on PLL<BR> SYNR=1; <BR> REFDV=1; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=32MHz;<BR> _asm(nop); //If PLL is selected (PLLSEL=1), Bus Clock = PLLCLK / 2=16M <BR> while(!(CRGFLG_LOCK==1)) <BR> _asm(nop); //when pll is steady ,then use it;<BR> CLKSEL_PLLSEL =1; //engage PLL to system; <BR>}<BR>//====================================================== <BR>void main(void) {<BR> unsigned char spich=0;<BR> EnableInterrupts;<BR> <BR> setbusclock(); <BR> SPI_Init();<BR> <BR> for(;;)<BR> {<BR> Dly_ms(200);<BR> SPI_Write_Byte(0xff);<BR> spich=SPI_Read_Byte();<BR> /*<BR> 在这里添加你的代码!这是我SD卡操作的原函数,绝对好用!<BR> */ <BR> } <BR>}<BR>需要完整工程请单击:<A target=_blank href="http://blog.21ic.com/UploadFiles/2008-11/282233989683.rar">demoSPI.rar</A></P>
作者:
chiusir
时间:
2008-12-2 03:26
标题:
Re:MC9S12DG128系列例程--SPI
<
><FONT face=宋体 color=#0000ff size=5>看帖不回是不道德的!<IMG src="http://www.znczz.com/images/Emotions/11.gif"></FONT></P>
作者:
aflyeagle
时间:
2008-12-5 16:12
标题:
Re:MC9S12DG128系列例程--SPI
很有用啊,谢谢啊
作者:
yup775
时间:
2009-3-12 09:50
不错不错!
作者:
huahai
时间:
2009-4-10 20:10
谢谢啊
作者:
李铁川
时间:
2009-4-12 19:30
楼主是个厚道人
作者:
yangyong1011
时间:
2009-4-17 17:55
很好的程序。谢谢。
作者:
13673123373
时间:
2009-4-18 12:58
看帖不回是不道德的!
作者:
mamin506
时间:
2009-4-30 09:35
谢谢龙丘~原来我栽在MOSRR上了。。。狂晕。。。
作者:
songfangfang
时间:
2009-4-30 13:25
SPI搞了几天,晕死,数据一直读的不顺利~~~,有用。拿去看看~~~~
作者:
dtszcr
时间:
2009-5-24 18:37
学一学
作者:
ufk119
时间:
2009-6-4 11:14
正在学习这个东东~hoho,
作者:
lizzy115
时间:
2009-6-4 15:32
很好的
作者:
3215762
时间:
2009-6-8 20:14
急需啊,谢谢了
作者:
zhangq062336
时间:
2009-6-9 23:40
楼主正不错,我正在做这块儿,SPI时钟无法输出不知道什么问题。
作者:
chiusir
时间:
2009-6-10 00:07
没有初始化吧
作者:
vallis
时间:
2009-8-24 21:13
我在做SD卡的时候,能够正确的初始化,和读取里面的数据,但是不能写数据,在执行写函数以后,再也不能初始化和读取数据了,只有把sd卡的引脚全部断开(包括电源)才能重新初始化和读取,但是还是不能写数据。我的写函数如下:
unsigned char SD_WriteData(byte *Write_Buff,dword length)
{
static byte r1;
dword i;
r1=SD_SendCMD(25,0x00,0x00); //发多块写入指令
if(r1!=0x00)
{
putstr("CMD25 faild\r\n");
return 0;
}
SD_CS=0;
//等待SD卡准备好
SPI_WriteByte(0xff);
SPI_WriteByte(0xff);
SPI_WriteByte(0xfc);
for(i=0;i<512;i++)
{
SPI_WriteByte(*Write_Buff);
Write_Buff++;
}
SPI_WriteByte(0xff);
SPI_WriteByte(0xff);
r1=SPI_ReadByte();
if((r1&0x0f)!=0x05)
{
putstr("write data error\r\n");
return 0 ; //数据如果数据出错,死机。。。。。。
}
SD_CS=1;
putstr("write data seccussful\r\n");
return 1;
}
作者:
nihaochenzhou
时间:
2009-8-25 09:35
谢谢
作者:
qijitao
时间:
2009-10-27 20:30
谢谢啊 大侠
作者:
qijitao
时间:
2009-11-10 19:09
多谢 多谢
作者:
justing88
时间:
2009-11-10 22:35
谢谢
作者:
linglong
时间:
2009-11-12 09:40
很好的程序!
作者:
mingqing43
时间:
2009-12-8 14:28
不错
作者:
uestcct
时间:
2009-12-8 16:49
我悲剧了,看来还得先学学单片机C编程
作者:
chengyongji
时间:
2009-12-8 19:25
学习
作者:
bayan
时间:
2009-12-13 11:43
道德。
作者:
yuan
时间:
2009-12-13 20:05
huiyixia
作者:
超群天晴
时间:
2009-12-21 21:32
回复
1#
chiusir
哈哈 看看再说
作者:
qianruixinmeng
时间:
2010-1-2 18:49
好东西!
作者:
小雨1111
时间:
2010-1-6 12:03
很好的
作者:
山孩子
时间:
2010-1-12 13:13
谢谢
作者:
jianghua302
时间:
2010-1-15 21:11
不错
作者:
jianghua302
时间:
2010-1-15 21:11
不错
作者:
流_云
时间:
2010-1-18 13:12
太感谢了,正发愁呢
作者:
姚先生
时间:
2010-3-3 12:32
看帖不回是不道德的!
作者:
hanjianghappy
时间:
2010-3-4 17:20
谢谢!!!
作者:
zjuET
时间:
2010-3-4 18:36
嗯ding
作者:
silence_lut
时间:
2010-3-8 18:52
谢谢
作者:
极意旋风
时间:
2010-3-11 20:28
多谢!!!
作者:
wtisheng
时间:
2010-3-11 23:47
拿来看看啊
作者:
huangyr
时间:
2010-3-12 15:58
学习了哦
作者:
freefly
时间:
2010-3-28 00:19
hui!
作者:
hezhendong
时间:
2010-4-2 23:16
作者:
jht
时间:
2010-4-8 21:35
困惑已久啊
作者:
hxlightblue
时间:
2010-4-20 12:49
谢谢
作者:
clgt2001
时间:
2010-4-22 21:27
谢谢
作者:
feiyangxiaomi
时间:
2010-4-23 08:10
谢了,楼主人好!
作者:
gjs1988
时间:
2010-4-23 09:53
很好啊
作者:
那边的天空
时间:
2010-5-5 15:04
好东西
作者:
jiang1101
时间:
2010-7-17 20:03
谢谢楼主
作者:
yujun1126
时间:
2010-9-22 17:30
非常感谢 很好
作者:
唐祖国
时间:
2010-9-23 13:16
谢谢!
作者:
xiaolezizhl
时间:
2010-10-6 17:46
谢谢了
作者:
忘记吧
时间:
2010-10-19 21:09
八错八错
作者:
shdhll
时间:
2010-11-1 11:45
看帖回了猜道德
作者:
zhangjiarui
时间:
2010-11-26 09:28
我要用无线发射,可以直接填在里面吗?
作者:
liamqy
时间:
2010-12-3 11:22
顶一下
作者:
ngngabc
时间:
2011-2-26 11:07
顶
作者:
云飞扬
时间:
2011-3-4 16:33
顶一个!
作者:
mengyaowuxiang
时间:
2011-4-2 16:41
好东西,谢谢
作者:
云飞扬
时间:
2011-4-5 17:02
谢谢龙丘,收下了!
作者:
LEUNG
时间:
2011-4-9 14:46
作者:
qaabq
时间:
2011-8-21 22:36
作者:
he_lin_1990
时间:
2012-1-7 14:40
我的不知道怎么用不了啊?
作者:
OPQ-XYQ
时间:
2012-4-4 08:42
支持,
作者:
OPQ-XYQ
时间:
2012-4-4 09:16
其中有真意
作者:
池中鱼
时间:
2012-10-28 15:26
乱码???
作者:
mengmeng721521
时间:
2012-11-13 15:40
支持!谢谢楼主!
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2