TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C123G 捕获高低电平

想求一个捕获某个引脚高低电平持续时间的例子,最好是带详细解析的。我写的程序用信号发生器产生5KHZ,占空比50.1%,峰峰值为3.2V,最大值为3.2V,最小值为-0.1V的方波信号得不到数据。(数据使用示波器测得其中PB6与示波器和信号发生器红脚相连,GND与两个黑脚相连)

#include <stdint.h>
#include <stdbool.h>
#include "inc/tm4c123gh6pm.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/gpio.h"
#include "driverlib/timer.h"
float time,time1;
int main(void)
{SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);//5分频,使用PLL,外部晶振16M,system时钟源选择 main osc。系统时钟50MHZSysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);//使能TIMER0 32位(TIMER0A16位+TIMER0B16位)SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);//使能GPIOF和GPIOC外设//  GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_6);GPIOPinConfigure(GPIO_PB6_T0CCP0);//#define GPIO_PC4_WT0CCP00x00021007GPIOPinTypeTimer(GPIO_PORTB_BASE, GPIO_PIN_6);TimerConfigure(TIMER0_BASE,TIMER_CFG_A_CAP_TIME_UP|TIMER_CFG_SPLIT_PAIR);//计时捕获模式,上升沿捕获TimerConfigure(TIMER0_BASE,TIMER_CFG_B_CAP_TIME_UP|TIMER_CFG_SPLIT_PAIR);TimerControlEvent(TIMER0_BASE,TIMER_A,TIMER_EVENT_POS_EDGE);TimerControlEvent(TIMER0_BASE,TIMER_B,TIMER_EVENT_NEG_EDGE);IntEnable(INT_TIMER0A);IntEnable(INT_TIMER0B);//使能TIMER0ATimerIntEnable(TIMER0_BASE, TIMER_CAPA_EVENT);TimerIntEnable(TIMER0_BASE, TIMER_CAPB_EVENT);IntMasterEnable();//master interrupt enable API for all interruptsTimerEnable(TIMER0_BASE, TIMER_BOTH);while(1){}
}

void Timer0IntHandler(void)
{TimerIntClear(TIMER0_BASE,TIMER_CAPA_EVENT);time=TimerValueGet(TIMER0_BASE,TIMER_A) ;


}
void Timer1IntHandler(void)
{TimerIntClear(TIMER0_BASE,TIMER_CAPB_EVENT);time1=TimerValueGet(TIMER0_BASE,TIMER_B) ;


}


//下面为启动文件中更改部分内容
extern void Timer1IntHandler(void);
extern void Timer0IntHandler(void);



Timer0IntHandler,
// Timer 0subtimer A
Timer1IntHandler,
// Timer 0 subtimer B
xyz549040622:

你现在的问题是什么呢?中断进不去,还是计算得到的时间不准,还是什么呢?说说你的实际运行情况。

Pengfei Zheng:

回复 xyz549040622:

中断进不去

daocheng ji:

回复 Pengfei Zheng:

我也遇到这个中断进不去的问题,你解决了吗

Pengfei Zheng:

回复 daocheng ji:

没有,最后我换了个模块

daocheng ji:

回复 Pengfei Zheng:

什么模块,看看代码

Pengfei Zheng:

回复 daocheng ji:

我换了个能用串口的模块,串口就不发了,毕竟基本都得会

daocheng ji:

回复 Pengfei Zheng:

我的串口用定时器周期性模式的能触发,换成捕获就触发不了

user6024197:

回复 Pengfei Zheng:

你好像没注册中断函数

user6024197:

回复 xyz549040622:

请问中断进不去,是哪里的问题呢,启动文件已更改为自己写的终端,而且编译无错误

赞(0)
未经允许不得转载:TI中文支持网 » TM4C123G 捕获高低电平
分享到: 更多 (0)