你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

[复制链接]
暗血妖城 提问时间:2014-8-27 16:00 /
 我想寻求一些帮助 我现在在调试 I2S的接受中断 以下是我的 I2S的基本配置
 
/* CODEC_I2S pins configuration: WS, SCK -----------------------------*/
  GPIO_InitStructure.GPIO_Pin = CODEC_I2S_WS_PIN | CODEC_I2S_SCK_PIN ; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOB, &GPIO_InitStructure);     
  /* Connect pins to I2S peripheral  */  
  GPIO_PinAFConfig(GPIOB, CODEC_I2S_WS_PINSRC, CODEC_I2S_GPIO_AF);  
  GPIO_PinAFConfig(GPIOB, CODEC_I2S_SCK_PINSRC, CODEC_I2S_GPIO_AF);
                /* CODEC_I2S pins configuration: SDIN -----------------------------*/        
 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;        
  GPIO_Init(GPIOC, &GPIO_InitStructure); 
        GPIO_PinAFConfig(GPIOC, CODEC_I2S_SDOUT_PINSRC, CODEC_I2S_GPIO_AF);        
        /* CODEC_I2S pins configuration: MCK pin */
  GPIO_InitStructure.GPIO_Pin = CODEC_I2S_MCK_PIN; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);        
        GPIO_PinAFConfig(GPIOC, CODEC_I2S_MCK_PINSRC, CODEC_I2S_GPIO_AF);
       
        SPI_I2S_DeInit(CODEC_I2S); 
        I2S_StructInit(&I2S_InitStructure);
  I2S_InitStructure.I2S_AudioFreq = I2S_AudioFreq_48k;
        //I2S_Standard_PCMShort
  I2S_InitStructure.I2S_Standard =I2S_Standard_Phillips; //I2S_Standard_Phillips
  I2S_InitStructure.I2S_DataFormat = I2S_DataFormat_16b;
  I2S_InitStructure.I2S_CPOL = I2S_CPOL_Low;
        //I2S_Mode_MasterRx; 
  I2S_InitStructure.I2S_Mode = I2S_Mode_MasterRx; 
        I2S_InitStructure.I2S_MCLKOutput = I2S_MCLKOutput_Enable;
  I2S_Init(CODEC_I2S, &I2S_InitStructure);
 
 
 
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
        NVIC_InitStructure.NVIC_IRQChannel = SPI2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
 
I2S_Cmd(CODEC_I2S,  ENABLE);
SPI_I2S_ITConfig(SPI2,SPI2,SPI_I2S_IT_RXNE  ,ENABLE);
 
就是这样配置的 但是 I2S一使能 就直接跳到 接收中断里去了 但是 我什么数据也没有 输入啊?
 
 
 
 
收藏 评论6 发布时间:2014-8-27 16:00

举报

6个回答
暗血妖城 回答时间:2014-8-27 16:01:47

RE:I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

sorry 程序 I2S模式的部分贴错了 是I2S_Mode_MasterRx 主模式接受
暗血妖城 回答时间:2014-8-27 16:06:01

RE:I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

我感觉没什么这样配置没有什么错误啊?到底是什么情况呢?
暗血妖城 回答时间:2014-8-27 16:09:06

RE:I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

而且 一使能SPI2->SR 寄存器里的接受中断位 就为有数据了
废鱼 回答时间:2014-8-27 17:30:51

RE:I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

进入中断以后,看一下寄存器到底是发生了什么中断。
暗血妖城 回答时间:2014-8-28 09:26:07

RE:I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

进入中断后 寄存器发生的是接收中断
废鱼 回答时间:2014-8-28 10:12:46

RE:I2S 的接收中断 有问题 已初始化就自己进去了 郁闷

把配置顺序改一下。先配饰I2S,最后再开启中断。可能是开启I2S的时候,导致产生的空中断。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版