Thread 中讨论的其他器件:EK-TM4C123GXL
//
//
// project0.c -演示最小 TivaWare 设置的示例
//
//版权所有(c) 2012-2017 Texas Instruments Incorporated。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)仅提供和使用此软件
//专门用于 TI 的微控制器产品。 该软件归其所有
// TI 和/或其供应商、受适用版权保护
//法律。 您不能将此软件与"病毒"开源软件结合使用
//软件,以便形成一个更大的程序。
//
//此软件按“原样”提供,且存在所有故障。
//不作任何明示、暗示或法定的保证,包括但
//不限于对适销性和适用性的暗示保证
//此软件的特定用途。 TI 不得以任何方式进行
//情况,对特殊、偶然或从属事件负责
//任何原因造成的损害。
//
//这是 EK-TM4C123GXL 固件包版本2.1.4.178的一部分。
//
//
#include
#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_adc.h"
#include "inc/hw_types.h"
#include "inc/hw_udma.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"
#include "driverlib/adc.h"
#include "driverlib/udma.h"
#include "driverlib/timer.h"
#include "driverlib/rom.h"
#include "driverlib/rom_map.h"
#include "driverlib/SysTick .h"
#include "utils/uartstdio.h"
//
//
//定义引脚到 LED 颜色映射。
//
//
//
//
//! \addtogroup example_list
//!
Project Zero (项目0)
//!
//! 此示例演示了如何使用 TivaWare 设置时钟和
//! 切换 GPIO 引脚以使 LED 闪烁。 这是一个很好的起点
//! 了解您的 LaunchPad 以及可用于对其进行编程的工具。
//
//
#define RED_LED GPIO_PIN_1
#define BLED_LED GPIO_PIN_2
#define GREEN_LED GPIO_PIN_3
//
//
//驱动程序库遇到错误时调用的错误例程。
//
//
#ifdef 调试
无效
_error__(char * pcFilename、uint32_t ui32Line)
{
}
#endif
//
//
//主"C"语言入口点。 使用 TivaWare 切换 LED。
//
//
uint32_t adcbuffer[100];
uint32_t adcddata1[100];
uint32_t adcddata2[100];
uint32_t i、时基、triglvl、xpos;
void main(){
SysCtlClockSet (SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);//20MHz 时钟
SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
SysCtlPeripheralEnable (SYSCTL_Periph_ADC1);
GPIOPinTypeADC (GPIO_Porte _BASE、GPIO_PIN_3);
GPIOPinTypeADC (GPIO_Porte _BASE、GPIO_PIN_2);
ADCSequenceConfigure (ADC0_BASE、3、ADC_TRIGGER_PROCESSOR、0);
ADCSequenceConfigure (ADC1_base、3、ADC_TRIGGER_PROCESSOR, 0);
ADCSequenceStepConfigure (ADC0_BASE、3、0、ADC_CTL_CH7 | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH6 | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH5 | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH4 | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceStepConfigure (ADC0_BASE、3、0、ADC_CTL_CH3 | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceEnable (ADC0_BASE、3);
ADCSequenceEnable (ADC1_BASE、3);
ADCIntClear (ADC0_BASE、3);
while (1)
{
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH5 | ADC_CTL_IE | ADC_CTL_END);
ADCIntClear (ADC1_BASE、3);
ADCProcessorTrigger (ADC1_base、3); //触发 ADC 转换。
while (!ADCIntStatus (ADC1_base、3、false)){} //等待转换完成。
ADCIntClear (ADC1_base、3); //清除 ADC 中断标志。
ADCSequenceDataGet (ADC1_base、3、adcbuffer); //读取 ADC 值。
时基= adcbuffer[0];
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH4 | ADC_CTL_IE | ADC_CTL_END);
ADCIntClear (ADC1_BASE、3);
ADCProcessorTrigger (ADC1_base、3); //触发 ADC 转换。
while (!ADCIntStatus (ADC1_base、3、false)){} //等待转换完成。
ADCIntClear (ADC1_base、3); //清除 ADC 中断标志。
ADCSequenceDataGet (ADC1_base、3、adcbuffer); //读取 ADC 值。
triglvl = adcbuffer[0];
ADCSequenceStepConfigure (ADC0_BASE、3、0、ADC_CTL_CH3 | ADC_CTL_IE | ADC_CTL_END);
ADCIntClear (ADC0_BASE、3);
ADCProcessorTrigger (ADC0_BASE、3); //触发 ADC 转换。
while (!ADCIntStatus (ADC0_BASE、3、false){} //等待转换完成。
ADCIntClear (ADC0_BASE、3); //清除 ADC 中断标志。
ADCSequenceDataGet (ADC0_BASE、3、ADCbuffer); //读取 ADC 值。
xpos = adcbuffer[0];
对于(i=0;i<=100;i++)
{
ADCSequenceStepConfigure (ADC0_BASE、3、0、ADC_CTL_CH7 | ADC_CTL_IE | ADC_CTL_END);
ADCIntClear (ADC0_BASE、3);
ADCProcessorTrigger (ADC0_BASE、3); //触发 ADC 转换。
while (!ADCIntStatus (ADC0_BASE、3、false){} //等待转换完成。
ADCIntClear (ADC0_BASE、3); //清除 ADC 中断标志。
ADCSequenceDataGet (ADC0_BASE、3、ADCbuffer); //读取 ADC 值。
adcdata1[i]= adcbuffer[0];
ADCSequenceStepConfigure (ADC1_base、3、0、ADC_CTL_CH6 | ADC_CTL_IE | ADC_CTL_END);
ADCIntClear (ADC1_BASE、3);
ADCProcessorTrigger (ADC1_base、3); //触发 ADC 转换。
while (!ADCIntStatus (ADC1_base、3、false)){} //等待转换完成。
ADCIntClear (ADC1_base、3); //清除 ADC 中断标志。
ADCSequenceDataGet (ADC1_base、3、adcbuffer); //读取 ADC 值。
adcddata2[i]= adcbuffer[0];
}
}
}
尊敬的女士/先生:
我正在尝试使用以下代码同时对两个信号进行采样、输入将位于 PE3和 PE2。 我打算监控采样值、CCS 曲线图是否是一个不错的选择? 我想实时观察它们、因为我打算稍后重构信号并对其执行 FFT。