查看: 2022|回复: 1

[求助] MK60DN256作为slave时,TX FIFO发生下溢出,第一个字节被吃掉?

[复制链接]
  • TA的每日心情
    开心
    2017-4-7 15:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    5

    帖子

    0

    注册会员

    Rank: 2

    积分
    93
    最后登录
    2019-1-4
    发表于 2015-5-29 16:44:19 | 显示全部楼层 |阅读模式
    ->我的系统是K60作为从端,接收和发送程序都采用的中断方式,禁止TX FIFO、RXFIFO ,采用的是SPI0寄存器,在K60发送第一个字节的时候,此时,SPI0_SR寄存器的 TFUF位已经置上了,表明TX FIFO发生了下溢出,然后,RXFRF0的数据一直保持不变,在这里面的数据就是我在通信过程中,被吃掉的那个数据,请问如何解决,各位大侠有遇到过这样的问题吗?
    ->做了几次实验,一次是直接将我的状态机屏蔽掉,人为的发送一连串的比如说从1-10这样的数据,查看我的TXFIFO是否还是发生溢出,第一个字节是否仍然被吃掉?通过示波器抓MISO,发现仍然是会发生下溢出,接着数据是这样显示的,2、2、3、4、5、6、。。。。。。等,说明与我的状态机没有关系;
    ->又做实验,我预先在我的spi初始化程序中,预先向TX FIFO控制中写入要发送的前两个字节,
        SPI_PDD_WriteSlavePushTxFIFOReg(SPI0_BASE_PTR,(uint32_t)(0x1));
        SPI_PDD_WriteSlavePushTxFIFOReg(SPI0_BASE_PTR,(uint32_t)(0x2));
        /* Clear Tx FIFO fill flags */
        SPI_PDD_ClearInterruptFlags(SPI0_BASE_PTR,SPI_PDD_TX_FIFO_FILL_INT_DMA);
    这样修改后,发现第一个字节确实是可以正常显示了,我以为找到了问题所在,然后,在我的系统程序中,将我被吃掉的字节预先在初始化的程序中,先发送出来,可是,发现只发送了这一帧正确报文,后面的发送中断就没响应了,此方法也行不通;
    请教各位?
    我知道答案 目前已有1人回答
    为什么好多飞思卡尔Kinetis开发资源及问题FAQ汇总的资料下载不了啊
    回复

    使用道具 举报

    该用户从未签到

    6

    主题

    198

    帖子

    0

    高级会员

    Rank: 4

    积分
    503
    最后登录
    1970-1-1
    发表于 2015-5-29 23:59:06 | 显示全部楼层
    学习了,多谢楼主分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-26 19:15 , Processed in 0.087949 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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