设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4207|回复: 3
打印 上一主题 下一主题

TM4C 多通道采集有人试过没?

[复制链接]

1

主题

4

帖子

33

积分

新手上路

Rank: 1

积分
33
跳转到指定楼层
楼主
顽石 发表于 2013-12-27 16:25:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TM4C 多通道采集有人试过没? 中午搞了半个小时,没弄出来。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
沙发
admin 发表于 2013-12-27 17:50:15 | 只看该作者
这个我还没试过哦,应该比较简单呀
回复 支持 反对

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
板凳
包子 发表于 2014-6-17 17:55:20 | 只看该作者
同求,搞了一下午,没搞出来
回复 支持 反对

使用道具 举报

1

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
地板
walkerchan 发表于 2014-8-17 17:43:35 | 只看该作者

/************************************************************************************************
* @brief          初始化滚轮电阻功能模块
* @param        none
* @return        none
*      ————
*                      |
*         Tiva         PE0|<--ADC                滚轮电阻ADC采样
*                ________|
*
* 滚轮电阻连接至PE0口,使用该口的ADC功能进行采样,获取滚轮电阻值
*
************************************************************************************************/
void Init_ADCWheel()
{

   SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);                                                                //使能ADC0功能外设

        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);                                                        //使能ADC0使用的端口

        GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_0);                                                        //PE0配置成ADC模式

        ADCSequenceConfigure(ADC_BASE, ADCWheel_Sequence, ADC_TRIGGER_PROCESSOR, 0);                        //使能序列0,处理器触发ADC采样

        ADCSequenceStepConfigure(ADC_BASE, ADCWheel_Sequence, 0, ADC_CTL_CH3 | ADC_CTL_IE |    //使用序列0,步进0,通道3(CH3<-->PE0)采样
                                                                 ADC_CTL_END);                                                                        //并且产生中断,结束采样

        ADCSequenceEnable(ADC_BASE, ADCWheel_Sequence);                                                                                //使能ADC0采样序列
        ADCIntClear(ADC_BASE, ADCWheel_Sequence);                                                                                                //清除中断标志

}

/********************************************************************************************************
* @brief 获取滚轮采样值
* @param *pui32ADCValue,滚轮电阻采样值存放的地址
* @return none
*      ————
*                      |
*         Tiva         PE0|<--ADC                滚轮电阻ADC采样
*                ________|
********************************************************************************************************/
void ADCWheel_ValueGet(uint32_t *pui32ADCValue)
{
        ADCProcessorTrigger(ADC_BASE, ADCWheel_Sequence);                                //处理器触发采样

        while(!ADCIntStatus(ADC_BASE, ADCWheel_Sequence, false))                //等待采样结束
        {
        }

        ADCIntClear(ADC_BASE, ADCWheel_Sequence);                                                //清除中断标志

        ADCSequenceDataGet(ADC_BASE, ADCWheel_Sequence, pui32ADCValue);        //获取采样值
}

/************************************************************************************************
* @brief          初始化定时采样功能模块
* @param        none
* @return        none
*      ————
*                      |
*         Tiva         PB4|<--sing                外部信号ADC采样
*                ________|
*
* 语音信号放大后连接至PE0口,使用该口的ADC功能进行采样
*
************************************************************************************************/

void Init_ADCWheel_1()
{

        // 使能 ADC0外设
                SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);

                // 使能Port B外设端口
                SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

                // 选择PB4作为模数装换ADC的管脚
                GPIOPinTypeADC(GPIO_PORTB_BASE, GPIO_PIN_4);

                // 配置采样序列的触发源和优先级
                ADCSequenceConfigure(ADC1_BASE, SequenceNum, ADC_TRIGGER_PROCESSOR, 0);

                // 配置采样序列发生器的步进
                ADCSequenceStepConfigure(ADC1_BASE, SequenceNum, 0, ADC_CTL_CH10 | ADC_CTL_IE |
                                                                 ADC_CTL_END);

                // 使能一个采样序列
                ADCSequenceEnable(ADC1_BASE, SequenceNum);

                // 清除采样序列中断源
                ADCIntClear(ADC1_BASE, SequenceNum);                                                                                //清除中断标志
}

/********************************************************************************************************
* @brief
* @param *pui32ADCValue
* @return none
*      ————
*                      |
*         Tiva         PB4|<--ADC_音频                ADC采样
*                ________|
********************************************************************************************************/
void ADCWheel_ValueGet_1(uint32_t *pui32ADCValue)
{
//##################################################
                ADCProcessorTrigger(ADC1_BASE, SequenceNum);

                // 等待完成AD转换
                while(!ADCIntStatus(ADC1_BASE, SequenceNum, false))
                {
                }

                // 清楚ADC中断标志位
                ADCIntClear(ADC1_BASE, SequenceNum);

                // 读取ADC值
                ADCSequenceDataGet(ADC1_BASE, SequenceNum,pui32ADCValue);

                /////sample_Bridge_Average = pui32ADC0Value[0];
                //##############################################//
                }
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-4-23 14:24 , Processed in 0.142932 second(s), 28 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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