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

CC2530 设置P04为定时器1捕获时输入拉低

使用的协议栈为ZSTACK2.5.1

我在使用CC2530的时候,使用P04为TIMER1的捕获通道,输入的博习惯为一个3.3V的方波,在未设置P04为第二功能前,量P04脚为3.3V正常,一旦设置第二功能后,电压马上变为2V。此时将P04口设回来,不使用第二功能,又变回3.3V,请问这是什么道理?又有没有人知道

T1CNTL = 0x00; //timer 1计数清零,清相关管脚
PERCFG &= ~(1<<6); //采用备用位置1
P0DIR &= !0x10; //P0_4为输入口 P0SEL |= 0x10; //P0_4作为捕获通道,Channel2        这一句只要执行,电压马上变化

T1CTL |=0x01; //0分频32M,反复运行,打开定时器
T1IF =0; //timer 1 interrupt flag
T1CCTL0 |= 0x02; //下降沿捕获
T1CCTL0 &= ~0x04; //捕获模式
T1IE = 0; //TIMER1 interrupt disenable
T1OVFIM = 0;

Susan Yang:

使用下面的语句试试
P0SEL |= (1<<4);//复用功能P0DIR &= ~(1<<4);//设置 GPIO 口为输入

gaoyang9992006:

设置上拉电阻试试看,使能上拉电阻寄存器。

gaoyang9992006:

P0INP &= ~0x10; //打开P04上拉电

user6216187:

回复 Susan Yang:

你这样和我那样有什么区别啊,试过了,无效

user6216187:

回复 Susan Yang:

你这样和我那样有什么区别啊,试过了,无效

user6216187:

回复 gaoyang9992006:

无效,你说的这个,不用设置,上电就是这样的,设置过还是一样

user6216187:

回复 Susan Yang:

我新建了一个工程,没有使用协议栈,裸机跑的,将下面这一句放在了main函数的最开头P0SEL |= (1<<4);//P0_4作为捕获通道,Channel2
效果还是一样,只要执行了这一句,问题马上出现,在美欧运行这一句时,P04对输入的响应是正常的,一旦有这一句,马上变低了,这一句其实只是开启了P04的第二功能。有人知道,芯片内部是不是做了什么处理,还需要设置什么?在DATASHEET上,P04是可以用于捕获的。

user6216187:

没有人知道了吗?其他的管脚不是这样,只有P04是这个样子,我不知道为什么

赞(0)
未经允许不得转载:TI中文支持网 » CC2530 设置P04为定时器1捕获时输入拉低
分享到: 更多 (0)