3077|0

6802

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

TMS320F28335——SPI使用笔记 [复制链接]

一、SPI硬件接口

  

  GPIO54    -------    SPISIMOA

  GPIO55    -------    SPISOMIA

  GPIO56    -------    SPCLK

  GPIO57    -------    SPSTEA

  配置IO功能:

  如上图所示,需要配置IO为SPI模式 只需要写入对应位为  1即可。代码如下

    GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 1; // Configure GPIO54 as SPISIMOA
    GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 1; // Configure GPIO55 as SPISOMIA
    GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 1; // Configure GPIO56 as SPICLKA
    GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 1; // Configure GPIO57 as SPISTEA

二、设置SPI相关寄存器  

   SPI寄存器描述文档:http://www.ti.com/lit/ug/sprueu3a/sprueu3a.pdf

 

  1、初始化SPI FIFO相关寄存器

  SPIFFTX:FIFO发送寄存器

  SPIFFRX:FIFO接收寄存器

  SPIFFCT:FIFO控制寄存器

  代码如下:

 

void spi_fifo_init()                                        
{
    SpiaRegs.SPIFFTX.all=0xE040;//使能FIFO;清除发送中断标志位;禁止FIFO发送中断;
                                //发送中断级别定义为0;
    SpiaRegs.SPIFFRX.all=0x204f;//清除FF溢出标志位;清除溢出接受中断标志位;禁止
                                //FF接受中断;接受中断级别为16;
    SpiaRegs.SPIFFCT.all=0x0;//SPITXBUF到移位寄存器传送不延迟;
}  

 

  2.设置SPI相关寄存器

  SPICCR:配置控制寄存器

  SPICTL:运行控制寄存器

  SPIBRR:波特率寄存器

  SPIPRI:优先级控制寄存器

  初始化代码:

 

//初始化SPI函数
void spi_init()
{    
    SpiaRegs.SPICCR.all =0x004F;// SPI软件复位, 极性位为1(下降沿发送数据), 每次移
                                //进和移出16位字长度;禁止SPI内部回送(LOOKBACK)功能;
    SpiaRegs.SPICTL.all =0x0006; // 使能主机模式,正常相位,使能主机发送,禁止接收
                                //溢出中断,禁止SPI中断;
                                   
    SpiaRegs.SPIBRR =0x007F;    //SPI波特率=25M/128    =195.3KHZ;                            
    SpiaRegs.SPICCR.all =0x00CF;//停止SPI软件复位准备接收或发送;禁止回送模式; 
    SpiaRegs.SPIPRI.bit.FREE = 1;  // 自由运行     
}

 

三、使用SPI发送数据

  发送数据就比较简单了只需要向  SPITXBUF 写入数据即可。

  

//发送SPI数据
void spi_xmit(Uint16 a)
{
    SpiaRegs.SPITXBUF=a;
}    
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表