搜索
bottom↓
回复: 7

MSP430149 SPI速度问题

[复制链接]

出0入0汤圆

发表于 2014-11-7 17:09:03 | 显示全部楼层 |阅读模式
这几天用430 spi 模块驱动SD卡实验,SPI在低速情况下,读取数据是正常的,在数据手册查到F149 SPI最大速度是4MHZ,但是在实际情况中只能达到1MHz,速度在高一点读到数据就出错了,一直找不到其中原因,恳请有经验有坛友指教!

出0入0汤圆

发表于 2014-11-7 17:16:22 | 显示全部楼层
关注,用的是串口的设置?

出0入0汤圆

 楼主| 发表于 2014-11-7 19:26:09 | 显示全部楼层
sky_walker 发表于 2014-11-7 17:16
关注,用的是串口的设置?

SPI设置参照ti官方例程

出0入0汤圆

 楼主| 发表于 2014-11-10 10:07:12 | 显示全部楼层
sky_walker 发表于 2014-11-7 17:16
关注,用的是串口的设置?

找到问题了,这是原来的程序
void SPI_Write_Byte(unsigned char byte)
{
  IFG2 &= 0xCF;
  U1TXBUF = byte;
  while(!(IFG2 & UTXIFG1));
}

unsigned char SPI_Read_Byte(void)
{
  IFG2 &= 0xCF;
  U1TXBUF = 0xFF;
  while(!(IFG2 & URXIFG1));                                //判断URXIFG1为接收完成标志
  return U1RXBUF;
}
这是改过后程序
void SPI_Write_Byte(unsigned char byte)
{
  IFG2 &= 0xCF;
  U1TXBUF = byte;
  while(!(IFG2 & UTXIFG1));
}

unsigned char SPI_Read_Byte(void)
{
  IFG2 &= 0xCF;
  U1TXBUF = 0xFF;
  while(!(IFG2 & UTXIFG1));                                //判断UTXIFG1为接收完成标志
  return U1RXBUF;
}
两个程序不同之处就是接收字节完成判断的标志位,造成SPI速度上不去,两个程序各有优缺点,以前我采用的是第二程序,但是存在一个问题就是SPI接收的第一个字节是错误的,永远是0xFF,所以我用判断URXIFG1来确认接收是否完成,但是又出现了另一个问题,在实际中如果接收字节是0xFF,URXIFG1是不置位的,程序会一直死在那里

出0入0汤圆

发表于 2014-11-12 18:54:48 | 显示全部楼层
官方也是这么配置的?

出0入0汤圆

发表于 2014-11-12 19:27:23 | 显示全部楼层
        while (!(IFG2 & UCB0TXIFG))                                // USCI_B0 TX buffer ready?
        {
        }
        UCB0TXBUF = *pbuf;                                     // Previous data to TX, RX

        while(UCB0STAT & UCBUSY)
        {
        }

        temp = UCB0RXBUF;

出0入0汤圆

 楼主| 发表于 2014-11-12 22:27:56 | 显示全部楼层
sky_walker 发表于 2014-11-12 19:27
while (!(IFG2 & UCB0TXIFG))                                // USCI_B0 TX buffer ready?
        {
        }

好的,回去试下,对了还要咨询你一下,spi寄存器里里有个CKPH和CKPL两个标志位设置,一直没搞清楚什么时候需要设置,而且不同spi速率下对数据是有影响的

出0入0汤圆

发表于 2014-11-18 11:49:23 | 显示全部楼层
1M基本上小应用都可以了吧
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 10:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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