查看: 2828|回复: 2

[求助] K53 SPI0 TFFF中断程序

[复制链接]
  • TA的每日心情
    开心
    2018-9-14 09:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    70

    主题

    329

    帖子

    0

    高级会员

    Rank: 4

    积分
    952
    最后登录
    2021-1-4
    发表于 2012-9-11 13:38:40 | 显示全部楼层 |阅读模式
    我刚做了个用TFFF的中断,从波形上已经看到没什么问题,但是不知道具体细节是不是正确,所以发给大家帮我看看
    //函数头文件
    typedef struct
    {
      uint16_t pcs:6;
      uint16_t res:4;
      uint16_t ctcnt:1;
      uint16_t eoq:1;
      uint16_t ctas:3;
      uint16_t cont:1;
    }CMD_BIT;
         
    typedef struct
    {
            uint16_t txData;
            CMD_BIT cmd;
    }APP_MASTER_PUSHR;  
    typedef union
    {
      uint32_t word;
      APP_MASTER_PUSHR halfWord;
    }PUSHR_FORMAT;
    #define APP_SPI0_SEND_DATA_LEN 128
    #define SPI0_SEND_DATA_LEN_8BIT 1
    #define PCS0_SEL 1
    #define PCS1_SEL 2
    #define PCS2_SEL 4
    #define PCS3_SEL 8
    #define PCS4_SEL 16
    #define PCS5_SEL 32
    #define CLEAR_CTCNT     1
    #define IS_EOQ          1
    #define CTAR0_SEL       0
    #define CTAR1_SEL       1
    #define SPI0_SEND_WITH_DMA      1
    extern void dma1_isr(void);
    extern void appSpi0SendInitial(void);
    extern void spi0MasterSendInitial(uint8_t dmaFlag);
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //源文件
    #include "common.h"
    #include "appSpi.h"
    #include "HAL_eDMA.h"
    const uint8_t appSendDataTable[] =
    {
      0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
      0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
      0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
      0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
      0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
      0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
      0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
      0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f 
    };
    uint8_t appSendDataCounter = 0;
    uint32_t SPI0_TXFR0_buffer[4];
    ////////////////////////////////////////////////////////////////////////////////
    PUSHR_FORMAT appSpi0SendData[APP_SPI0_SEND_DATA_LEN];
    ////////////////////////////////////////////////////////////////////////////////

    void spi0SendDataBufferSet(void)
    {
      uint8_t i;
     
      for(i=0;i
    我知道答案 目前已有1人回答
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-9-11 15:02:26 | 显示全部楼层

    RE:K53 SPI0 TFFF中断程序

    就安装ISR.H里面的格式填写,可以改变为你写的代码入口函数。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-14 09:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    70

    主题

    329

    帖子

    0

    高级会员

    Rank: 4

    积分
    952
    最后登录
    2021-1-4
     楼主| 发表于 2012-9-11 15:23:07 | 显示全部楼层

    RE:K53 SPI0 TFFF中断程序

    我现在想用TFFF产生DMA请求,怎么设置?
    我设置了SPI0_RSER的SPI_RSER_TFFF_RE_MASK和SPI_RSER_TFFF_DIRS_MASK,但是就是不能产生DMA请求
    版主有现成的例子给我参考一下吗
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-18 19:19 , Processed in 0.084246 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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