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

stm8单个定时器中断没有问题,加入UART/SPI中断就异常

[复制链接]
arm0756 提问时间:2015-12-12 21:30 /
各位大师,帮忙看看程序!
工程是EWSTM8-2105版本的,在main函数里面,只有任意开三个中断的其中一个,程序就会死机,这是哪里出了问题?
//UART2_ITConfig(UART2_IT_RXNE , ENABLE);
//UART2_ITConfig(UART2_IT_TC , ENABLE);
//SPI_ITConfig(SPI_IT_TXE, ENABLE);
不开中断,UART2和SPI都能发送出数据来,再开其中任意一个中断,程序就死机了。

调试跟踪,发现程序会死在 assert_failed函数里面
void assert_failed(u8* file, u32 line)
{
    /* User can add his own implementation to report the file name and line number,
       ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
    /* Infinite loop */
    while (1)
    {
    }
}

中断处理函数没有用到指针,都是很简单的调试程序。
//------------------------------------------------------------------------------
//接收中断处理
void UART2_RXD_IRQ(void)
{
  UART2_ClearITPendingBit(UART2_IT_RXNE);
  UART2_SendData8(UART2_ReceiveData8());
}

//------------------------------------------------------------------------------
//发送中断处理
void UART2_TXD_IRQ(void)
{
  UART2_ClearITPendingBit(UART2_IT_TC);
}

//------------------------------------------------------------------------------
void SPI_TXD_IRQ(void)
{
  SPI_ITConfig(SPI_IT_TXE,DISABLE);   //禁止中断
  SPI_ClearITPendingBit(SPI_IT_TXE);  //清_中断标志位
  SPI_ClearFlag(SPI_FLAG_TXE);
  SPI_SendData(0x01);
}


高手帮帮忙。



有最新版本的EWSTM8的 注 册 文 件?




收藏 评论4 发布时间:2015-12-12 21:30

举报

4个回答
dsjsjf 回答时间:2015-12-12 21:57:44
帮顶一下
arm0756 回答时间:2015-12-12 22:12:19
忘记工程文件了,补上。

STM8S_Test_V01.rar

下载

1.61 MB, 下载次数: 1, 下载积分: ST金币 -1

超級稻草人 回答时间:2015-12-13 10:11:33
先了解下。。。
arm0756 回答时间:2015-12-13 10:50:33
问题在哪,求指点!

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版