spi 与AD DA - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3770|回复: 2
打印 上一主题 下一主题

spi 与AD DA

[复制链接]

9

主题

24

帖子

130

积分

注册会员

Rank: 2

积分
130
跳转到指定楼层
楼主
发表于 2015-10-4 22:38:49 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
按照给的spi flash例程  把里面spi部分拿出来做与AD DA通信的驱动 void um02_spiInit(void)
{
unsigned int spi_mode = SOMI_SIMO_CLK_CS1_CS6;//使用CS1 CS6对应AD和DA   值为(0x00000E42)  转换时CS1 CS6为低电平
/* Resets the SPI */
  SPIReset(SOC_SPI_1_REGS);
/* Brings SPI Out-of-Reset */
SPIOutOfReset(SOC_SPI_1_REGS);
/* Configures SPI in Master Mode */
SPIModeConfigure(SOC_SPI_1_REGS, SPI_MASTER_MODE);
/* Sets SPI Controller for 4-pin Mode with CHIP SELCET */
  SPIPinControl(SOC_SPI_1_REGS, 0, 0, &spi_mode);


SPIDefaultCSSet(SOC_SPI_1_REGS, 0x42);
/*Configures the Prescale bit in Data Format register. */
SPIClkConfigure(SOC_SPI_1_REGS, SOC_SYSCLK_2_FREQ, 1920000,SPI_DATA_FORMAT0);//fs=120000*16(位)
/* Configures SPI Data Format Register */
SPIConfigDataFmtReg(SPI_DATA_FORMAT0);
// 配置 SPI
SPIDat1Config(SOC_SPI_1_REGS, (SPI_CSHOLD | SPI_DATA_FORMAT0), 0x42);
  /*enable spi dma*/
SPIIntEnable(SOC_SPI_1_REGS, SPI_DMA_REQUEST_ENA_INT);

SPIDelayConfigure(SOC_SPI_1_REGS, 0, 0, 10, 20);//瞎写的  感觉没什么影响啊
SPIEnable(SOC_SPI_1_REGS);

}




传输时 好像只能传出一个数 然后就停下了  (spi 发送寄存器是没错的 里面的值一直在刷新) 请问是怎么回事    还有就是有没有写过这方面驱动的能不能分享一下
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

9

主题

24

帖子

130

积分

注册会员

Rank: 2

积分
130
沙发
 楼主| 发表于 2015-10-8 15:41:50 | 显示全部楼层
最终发现问题出在没有使能WDEL  和 修改 WDELAY的值   导致  CS一直为低  而DA需要在上升沿将收到的值转换     要不是您提醒我看CSHOLD  我还不会顺便发现这个问题  非常感谢您的解答
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-14 23:02 , Processed in 0.033033 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表