找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1725|回复: 4
打印 上一主题 下一主题
收起左侧

为什么用F429调试进入SPI_I2S_SendData和SPI_I2S_ReceiveData,keil软件就直接崩溃了

[复制链接]
跳转到指定楼层
楼主
ID:895436 发表于 2021-6-2 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么用F429调试进入SPI_I2S_SendData和SPI_I2S_ReceiveData,keil软件就直接崩溃了,板子是自己做的,用开发板没有这个问题,有遇到过的大佬吗?  uint8_t ICM42605_SendByte(uint8_t byte)
{         SPITimeout = SPIT_FLAG_TIMEOUT;         
/* 等待发送缓存区为空 */        
         while(SPI_I2S_GetFlagStatus(SPI4,SPI_I2S_FLAG_TXE ) == RESET)      
        {                if((SPITimeout--)==0) return SPI_TIMEOUT_UserCallback(0);                 }        
        SPI_I2S_SendData(SPI4,byte);               
       SPITimeout = SPIT_FLAG_TIMEOUT;        
/* 等待接收缓存区为空 */         
       while(SPI_I2S_GetFlagStatus(SPI4,SPI_I2S_FLAG_RXNE) == RESET)      
      {              if((SPITimeout--)==0) return SPI_TIMEOUT_UserCallback(1);                }      
   /* 读取数据寄存器,获取接收缓冲区数据 */      
       return SPI_I2S_ReceiveData(SPI4);                }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:745085 发表于 2021-6-2 11:46 | 只看该作者
程序跑飞了吗。
回复

使用道具 举报

板凳
ID:745085 发表于 2021-6-2 11:48 | 只看该作者
程序跑飞了吗,跑飞了,考虑溢出问题,具体可以查看数组的操作。
回复

使用道具 举报

地板
ID:895436 发表于 2021-6-2 17:36 | 只看该作者
gracture 发表于 2021-6-2 11:48
程序跑飞了吗,跑飞了,考虑溢出问题,具体可以查看数组的操作。

调试刚进入这里就崩溃了,这个库函数自带的函数
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
{
  /* Check the parameters */
  assert_param(IS_SPI_ALL_PERIPH_EXT(SPIx));
  
  /* Write in the DR register the data to be sent */
  SPIx->DR = Data;
}
回复

使用道具 举报

5#
ID:818024 发表于 2021-6-3 11:58 | 只看该作者
话说调试单步执行的时候定时器时钟是不是独立的?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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