查看: 5458|回复: 2

[求助] K60 DMA采集ADC结果的问题

[复制链接]

该用户从未签到

2

主题

3

帖子

0

新手上路

Rank: 1

积分
14
最后登录
1970-1-1
发表于 2014-5-22 22:27:05 | 显示全部楼层 |阅读模式
我使用的芯片是MK60DN512ZVLL10,需要采集sony模拟摄像头数据,现在通过视频解码芯片LM1881得到的行场中断正确。设计中采用PTC9口(ADC1_SE5b)作为ADC采样口,同时DMA将数据搬运到ImgBuffer数组存储。但是得到的数组值全部为0.
做完ADC初始化后,写入如下程序:
ADC1_CFG2 |= ADC_CFG2_MUXSEL_MASK;//ADC1 5b
我认为应该是将通道5选择为了5b,同时DMA的数据源选择为DMA_TCD0_SADDR = (uint32_t)&ADC1_RB;
在行中断中,重新使能DMA:DMA_ERQ |= DMA_ERQ_ERQ0_MASK; //Enable DMA0
同时选择   
ADC1_SC1A |= ADC_SC1_ADCH(5); //Restart ADC
 ADC1_SC1B |= ADC_SC1_ADCH(5); //Restart ADC
 
DMA_TCD0_CSR |= DMA_CSR_START_MASK; //Start
但是总是返回0,我测量过摄像头接入PTC9的模拟量正确。
请大家帮助我看一下,非常感谢!
ADC和DMA初始化代码如下:

void Camera_init(void)
{
 //video VS 场中断信号,50hz,采用上升沿触发中断,对应管教为PTC7
 SIM_SCGC5 |= SIM_SCGC5_PORTC_MASK; //使能port C
 PORTC_PCR7 |= PORT_PCR_MUX(1)|PORT_PCR_IRQC(9);//GPIO,上升沿触发
 GPIOC_PDDR &= ~(1
我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-5-23 11:21:32 | 显示全部楼层

    回复:K60 DMA采集ADC结果的问题

    楼主你好
    建议你参考一下飞思卡尔官网提供的一篇应用手册AN4590 (Using DMA to Emulate ADC Flexible Scan Mode on Kinetis K Series)
    和其工程代码AN4590SW
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    26

    帖子

    0

    注册会员

    Rank: 2

    积分
    197
    最后登录
    2020-9-24
    发表于 2014-9-28 15:30:52 | 显示全部楼层
    本帖最后由 FSL_TIC_Alice 于 2014-9-28 15:32 编辑

    从楼主仅贴出的程序看,缺少对DMA的具体配置,比如DMA时钟,DMA的数据源和目的传送的字节数,传送的小循环和大循环的一些配置等 。 除了参考楼上的资料外,还可以看下 这篇中文对DMA模块的基本配置,通过一个例子对DMA进行了配置。

    从零入手Kinetis系统开发(十)之eDMA模块.pdf

    621.5 KB, 下载次数: 82, 下载积分: 威望 1

    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 23:28 , Processed in 0.091463 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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