就是软件触发一直没法进入中断, 但是相同的 程序我换TM4C123G就能触发,, 到底有什么问题呢。。。
/*
* main.c
*/
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include <driverlib/gpio.h>
#include <inc/hw_gpio.h>
#include <driverlib/sysctl.h>
#include <inc/hw_sysctl.h>
#include <inc/hw_memmap.h>
#include <driverlib/adc.h>
#include <inc/hw_adc.h>
#include <inc/hw_ints.h>
#include <driverlib/interrupt.h>
uint32_t ADC_DATA[8];
void ADC0_Hanlder(void)
{
ADCIntClear(ADC0_BASE,3);
//do something
SysCtlDelay(20);
}
void InitADC0(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);ADCClockConfigSet(ADC1_BASE,ADC_CLOCK_SRC_PLL|ADC_CLOCK_RATE_FULL,24);ADCSequenceConfigure(ADC1_BASE,3,ADC_TRIGGER_PROCESSOR,0);ADCSequenceStepConfigure(ADC1_BASE,3,0,ADC_CTL_TS|ADC_CTL_IE|ADC_CTL_END);ADCSequenceEnable(ADC1_BASE,3);// IntRegister(INT_ADC1SS3,ADC0_Hanlder);ADCIntEnable(ADC1_BASE,3);IntEnable(INT_ADC1SS3);IntMasterEnable();ADCIntEnable(ADC1_BASE,3);
}
int main(void)
{
SysCtlClockFreqSet(SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_CFG_VCO_480,40000000);InitADC0();while(1){ADCProcessorTrigger(ADC1_BASE,3);SysCtlDelay(500000);// ADCSequenceDataGet(ADC1_BASE,3,ADC_DATA);}
}
xyz549040622:
那么注意两者间的区别,有的函数不是两者都适用的,你的头文件定义中是否包含了TM4C129。h呢,移植手册中看看是否有两者移植的注意呢
kqian0327:
你好,
你可以直接尝试由TIVA WARE里面1294的例程来看一下是否进的了中断吧。
Michael Sun:
我这边能进去的。
楼主能把整个工程打包贴上来一起看看吗,包括启动文件
TI中文支持网
