新手求助LM3S9B96 spi问题

2019-03-24 14:58发布

我在用LM3S9B96做SPI自发自收的实验,做了两个,第一个是没有加中断,发送一个接收一个(没有问题),第二个是加了中断,在中断里接收发送的数据,问题就出在在中断函数里单步调试运行到匀匀IDataGet(SSI_BASE, &rec[0]);程序就跑飞了,自己能力有限,没弄明白。下面我附上两个程序,请大家帮我看看。

先谢谢了。

[ 本帖最后由 zzgezi 于 2012-2-13 10:43 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
Study_Stellaris
1楼-- · 2019-03-24 23:39
< 单步调试程序跑到哪里去了?
zzgezi
2楼-- · 2019-03-25 01:53
 精彩回答 2  元偷偷看……
hlx3012
3楼-- · 2019-03-25 07:15

 ,不喜欢检查程序,楼主附件中是3份例程,楼主看一看吧。

 

比对检查debug 本身就是一个学习的过程。

[ 本帖最后由 hlx3012 于 2012-2-13 11:35 编辑 ]
zzgezi
4楼-- · 2019-03-25 11:53
谢谢你!
Study_Stellaris
5楼-- · 2019-03-25 17:40
 精彩回答 2  元偷偷看……
hlx3012
6楼-- · 2019-03-25 20:30

 

楼主下面是SSIDataGet的源代码,如果接收FIFO为空就会一直停在那里,这说明程序没有接收到东西。

 

 

SSIDataGet(unsigned long ulBase, unsigned long *pulData)
{
    // 反复确认SSISR[RNE],RNE:为1说明Receive FIFO不为空
    while(!(HWREG(ulBase + SSI_O_SR) & SSI_SR_RNE))
    {
    }

    // 读取数据
    *pulData = HWREG(ulBase + SSI_O_DR);
}

一周热门 更多>

相关问题

    相关文章