新手上路
- 积分
- 24
- 金钱
- 24
- 注册时间
- 2021-7-20
- 在线时间
- 8 小时
|
5金钱
本帖最后由 旋风隼人 于 2017-2-28 21:08 编辑
103的板子运行UCOSII V2.91,SPI1改查询方式时运行正常,换成接收中断时程序直接跑飞。仿真的时候程序可以运行,但运行速度明显异常,求大神指点。附上中断执行内容:
void SPI1_IRQHandler(void)
{
OSIntEnter();
SPI_ISR(SPI1);
OSIntExit();
}
void SPI_ISR(SPI_TypeDef* SPIx)
{
INT8U err = 0;
if (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == SET) // 接收标志位判断
{
SPI_I2S_ClearITPendingBit(SPIx, SPI_I2S_IT_RXNE); // 清除相关标志位
if (SPIx == SPI1)
{
err = OSSemPost(SPI1_RXNE_sv); // 发出SPI1信号量
}
}
}
|
|