#include "spi.h"

void spi_init()
{
InitSpiaGpio();
//  不使用FIFO
SpiaRegs.SPICCR.all =0x0007;             // 空闲时,CLK=1 Reset on, rising edge, 8-bit char bits
SpiaRegs.SPICTL.all =0x000E;         // Enable master mode, normal phase,
                                                 // enable talk, and SPI int disabled.
SpiaRegs.SPIBRR =0x0005;                     //波特率 LSPCLK/(SPIBRR+1) 7.5M   LSPCLK=37.5M
    SpiaRegs.SPICCR.bit.SPISWRESET=1;         // Relinquish SPI from Reset
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission

}

u8 SPIx_ReadWriteByte(u8 TxData)
{
u8 retry=0;
while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 1)   //等待发送区空  发送缓冲区空时  SR的bit1 为1  不空的时为0 与后的结果为0,继续等待
{
retry++;
if(retry>200)return 0;
}
SpiaRegs.SPITXBUF=(TxData|0x8000)<<8 ;  //发送一个byte
retry=0;
while(SpiaRegs.SPISTS.bit.INT_FLAG != 1)
{
retry++;
if(retry>200)return 0;
}
return ((SpiaRegs.SPIRXBUF)&0x00ff);          //返回收到的数据

}

DSP28335 SPI的使用相关推荐

  1. DSP28335的硬件SPI使用(无FIFO)总结

    目录 前言 问题的提出 问题的解决 说在最后 前言 这两天折腾了一个旋变器解算模块的使用,类似于这种器件一般都是使用通信的方式写入芯片对应的寄存器的数据从而初始化芯片或得到可编程的结果:反之,我们也需 ...

  2. DSP28335与AD7606通过SPI的串行数据交互

    弄了三天的DSP28335与AD7606的通信终于实现了.最终的方案是通过DSP28335控制AD7606的采样,采集的数据通过SPI串口发送给28335,然后28335通过串口发送给上位机显示. 其 ...

  3. DSP28335使用SPI从AD2S1210(旋变芯片)读取位置

    前言 精准的转子位置对于电机精确控制来说至关重要,利用旋转变压器获取转子位置角度是一种常见方案.因此在电控程序中只需要通过主控芯片(以DSP28335为例)与旋变解码芯片(以AD2S1210为例)进行 ...

  4. DSP28335学习笔记——McBSP配置为SPI

    由于28335硬件外设上只有一个SPI接口,所以当SPI接口不够用时,可以将McBSP配置为SPI接口. 参考28335的数据手册,当DSP为主机时,配置McBSP为SPI所用到的接线如下图所示. 另 ...

  5. DSP28335 Mcbsp SPI实现软件片选

    思路是把FSX(片选)引脚设置为GPIO脚,控制输出 具体代码如下 管脚初始化函数修改如下 InitMcbspbGpio(void) {--GpioCtrlRegs.GPAMUX2.bit.GPIO2 ...

  6. DSP28335学习之旅1-基础知识

    目录 1.1  DSP 是什么 1.2  DSP 与单片机的区别 1.3  DSP性能相关 1.4  DSP命名规则 1.5  DSP28335的常用资源 1.6  DSP28335的常用参考手册 1 ...

  7. (七)DSP28335基础教程——I2C通信实验(OLED显示控制)

    0 前言 本期实验目标:采用硬件I2C模块与OLED进行通信,完成显示控制. 目前发现28335比较缺乏关于I2C模块的实用例程,许多新手在配置使用该模块比较难上手,走弯路.那么通过该例程,大家则可以 ...

  8. SPI协议读写SD卡介绍

    前言 在前面的文章中,我们主要介绍了如何利用SDIO协议对SD卡进行读写操作的流程及注意事项.虽然SDIO协议读写SD卡的效率很高,但是,操作却比较麻烦,另外,还需要使用的芯片具有SDIO外设.这对于 ...

  9. stc15w404as引脚图_STC15F2K6S2与stc15w404AS的spi通讯

    #include/*********************************位定义***********************************/ #define uchar unsi ...

最新文章

  1. 通用权限管理模块系列————参考资料————Windows安全性参考
  2. JDK中提供的实现——通过 java.util.Observable 类和 java.util.Observer 接口定义了观察者模式,只要实现它们的子类就可以编写观察者模式实例
  3. 公式之美:打通复杂思维的任督二脉
  4. Serverless爆发,前端又一大利好消息
  5. 面试前准备这些,成功率会大大提升!(Java篇)
  6. MFC工作笔记0004---MFC中afx_msg是什么,afx_msg void function()是什么意思
  7. python plot方法的使用_Python bokeh.plotting.figure.step()用法及代码示例
  8. c语言做一个体育教学软件,深度学习下的体育教学
  9. 电商平台销售数据查询工具(电商运营必备工具)
  10. android swf游戏下载工具,swf游戏模拟器高级版下载
  11. vb.net使用hook技术之键盘鼠标钩子
  12. 《机械工程测试技术基础》教学大纲
  13. SpringBoot+Redis+Lua防止(黑客)IP重复防刷攻击
  14. linux个人游戏服务器搭建,linux游戏服务器搭建(一)
  15. Excel时间段计算的相关公式
  16. Repeated DNA Sequences
  17. 苹果手机7P ios14 nfc怎么复制门禁卡
  18. 寻找市场中的Alpha—WorldQuant的阿尔法设计理念(上)
  19. hihoCoder挑战赛16 王胖浩与三角形
  20. 服务器离家出走怎么修复,减肥减到“大姨妈”离家出走?教你几招把它找回来!...

热门文章

  1. Windows下谨慎使用动态磁盘
  2. IOS弹出提示框(确认/取消)
  3. [ISUX转译]iOS7人机界面指南
  4. WIN10只剩飞行模式的一种解决方法
  5. oracle中bonus用法,Oracle中scott用户的emp、dept、bonus、salgrade建表代码与数据
  6. 绝对中位差( Median Absolute Deviation,MAD)算法
  7. CTPN-自然文本场景检测学习笔记
  8. ecg去噪 matlab,MATLAB,ECG,去噪,小波
  9. UVM中设置打印信息的冗余度阈值和重载打印信息的严重性
  10. SpringBoot-Maven打包压缩瘦身