智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1533|回复: 3
打印 上一主题 下一主题

摄像头组有人用KL26配置dma成功的么???

[复制链接]

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
威望
193
贡献
107
兑换币
93
注册时间
2015-7-30
在线时间
37 小时
毕业学校
燕山大学
跳转到指定楼层
1#
发表于 2015-10-8 21:07:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
每天都应水一贴~~~

回复

使用道具 举报

2

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2596
威望
1326
贡献
836
兑换币
876
注册时间
2013-9-24
在线时间
217 小时
毕业学校
大黄
2#
发表于 2015-10-10 09:02:10 | 只看该作者
void DMA_TPM_Init(void)
{  
        SIM_SCGC7 |= SIM_SCGC7_DMA_MASK;        //打开DMA时钟
        SIM_SCGC6 |= SIM_SCGC6_DMAMUX_MASK;        //打开DMA多路复用时钟

        DMA_DSR_BCR_REG(DMA_BASE_PTR,0) |= DMA_DSR_BCR_DONE_MASK;
        DMA_DCR_REG(DMA_BASE_PTR,0) = 0
                                               | DMA_DCR_SSIZE(1)
                                               | DMA_DCR_DSIZE(1)
                                       //        | DMA_DCR_SINC_MASK                  //传输后源地址增加(根据位宽)
                                               | DMA_DCR_DINC_MASK                  //传输后目的地址增加(根据位宽)
                                               | DMA_DCR_CS_MASK                  // 0为不停得传输,直到BCR为0;1为一次请求传输一次
                                               //| DMA_DCR_START_MASK               //软件触发传输
                                              | DMA_DCR_ERQ_MASK                   //硬件触发传输(与上面START二选一)
                                               | DMA_DCR_D_REQ_MASK                 //传输完成后硬件自动清ERQ
                                                                ;
       
        DMAMUX_CHCFG_REG(DMAMUX0_BASE_PTR,0) = DMAMUX_CHCFG_SOURCE(55); //设定传输源

        //配置PTM
       
        SIM_SOPT2 |= SIM_SOPT2_TPMSRC(1)
                                  |SIM_SOPT2_PLLFLLSEL_MASK;
        SIM_SCGC6 |= SIM_SCGC6_TPM1_MASK;
       
        TPM_CNT_REG(TPM1_BASE_PTR) = 0;
        TPM_MOD_REG(TPM1_BASE_PTR) = 33;

        TPM_SC_REG(TPM1_BASE_PTR) = 0;
        TPM_SC_REG(TPM1_BASE_PTR) = TPM_SC_TOF_MASK                //清零计时器溢出标志位
                                                                  |TPM_SC_DMA_MASK        //使能溢出传输DMA
                                                                  //|TPM_SC_TOIE_MASK        //使能TOF中断
                                                                  //|TPM_SC_CMOD(1)                //设置计数器模式,并开始TPM计数
                                                                |TPM_SC_PS(0);
}

void DMA_TPM_Transfer(uint8* TBuff, uint8* RBuff)
{
          DMA_DSR_BCR_REG(DMA_BASE_PTR,0) |= DMA_DSR_BCR_DONE_MASK;

    DMA_DSR_BCR_REG(DMA_BASE_PTR,0) = DMA_DSR_BCR_BCR(73);        //传输数目
                                                    

    DMA_SAR_REG(DMA_BASE_PTR,0) = (uint32) TBuff; // 源地址
        DMA_DAR_REG(DMA_BASE_PTR,0) = (uint32) RBuff; // 目的地址
       
        TPM_CNT_REG(TPM1_BASE_PTR) = 0;                //计数器清零
       
        TPM_SC_REG(TPM1_BASE_PTR) |= TPM_SC_TOF_MASK;                //清零计时器溢出标志位

    DMA_DCR_REG(DMA_BASE_PTR,0) |=  DMA_DCR_ERQ_MASK;
        DMAMUX_CHCFG_REG(DMAMUX0_BASE_PTR,0) |= DMAMUX_CHCFG_ENBL_MASK;                //开始DMA
        TPM_SC_REG(TPM1_BASE_PTR) |= TPM_SC_CMOD(1);        //设置计数器模式,并开始TPM计数
}

回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
506
威望
276
贡献
140
兑换币
167
注册时间
2015-1-28
在线时间
45 小时
毕业学校
湖北工程学院
3#
发表于 2015-10-14 06:46:01 | 只看该作者
我现在还没有。
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
威望
193
贡献
107
兑换币
93
注册时间
2015-7-30
在线时间
37 小时
毕业学校
燕山大学
4#
 楼主| 发表于 2015-10-15 12:31:16 | 只看该作者
337881256 发表于 2015-10-10 09:02
void DMA_TPM_Init(void)
{  
        SIM_SCGC7 |= SIM_SCGC7_DMA_MASK;        //打开DMA时钟

谢谢分享啦,这两天一直没上论坛,前两天配出来了,当时搞错了,以为kl26和k60一样目标地址会保存的...

回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 17:31 , Processed in 0.087265 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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