打印

PIC24FV16KM202 捕捉模块CCP1设置成功能输入捕捉中断

[复制链接]
1894|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiahy|  楼主 | 2021-10-10 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
同样的设置CCP2却未成功

使用特权

评论回复
沙发
stly| | 2021-10-10 14:18 | 只看该作者

还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
stly| | 2021-10-10 14:21 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
地板
jiahy|  楼主 | 2021-10-10 14:23 | 只看该作者
void initCCP2()
{
CCP2TMRH=0;
CCP2TMRL=0xFFFF;
CCP2PRH=0xFFFF;
CCP2PRL=0x0;

IEC0bits.CCP2IE = 0;   //????????
CCP2CON1Lbits.CCPON=1;  //??????
CCP2CON1Lbits.CLKSEL=0; //????????
CCP2CON1Lbits.TMRPS=0;  //????????
CCP2CON1Lbits.T32=1;    //??32????
CCP2CON1Lbits.CCSEL=1;  //??1???0?????
CCP2CON1Lbits.MOD=0b0010;   //????????????
CCP2CON1Hbits.RTRGEN=1; //  ????????
CCP2CON1Hbits.OPS3=0;   //??????????
CCP2CON1Hbits.TRIGEN=0; //?????????
CCP2CON1Hbits.ONESHOT=0;    // ???????
CCP2CON2Lbits.ASDG=0;   //????????
CCP2CON2Hbits.ICS=0x11;    //??????0-input capture IO;   0x011-?comparator 3 output
CCP2STATLbits.TRSET=1;  //???????
CCP2STATLbits.TRCLR=1;  //???????

IPC0bits.CCP2IP=0b011;                //???????
IPC0bits.T1IP=0b010;        //???1?????
CCP2CON1Lbits.CCPON=1;      //??????
IFS0bits.CCP2IF = 0;        //?????
IEC0bits.CCP2IE = 1;                 //Enable CCP2 interrupt.
}

使用特权

评论回复
5
wyjie| | 2021-10-10 14:25 | 只看该作者
检查端口初始化, 是否是数字功能

使用特权

评论回复
6
ousj| | 2021-10-10 14:27 | 只看该作者
端口是否正确连接到CCP2

使用特权

评论回复
7
jiahy|  楼主 | 2021-10-10 14:29 | 只看该作者
有初始化,设置了IO方向为输入。连接到CCP2了。

使用特权

评论回复
8
spark周| | 2021-10-10 14:31 | 只看该作者
除了方向之外,还要看该引脚是否复用了模拟功能, 如果复用了,要设置成数字口, 一般来说是ANSELx寄存器.你看看

使用特权

评论回复
9
jiahy|  楼主 | 2021-10-10 14:33 | 只看该作者
CPP1是成功的,只设置了RB13,14,15为AD模拟。

使用特权

评论回复
10
jiahy|  楼主 | 2021-10-10 14:36 | 只看该作者
之前也遇到个问题是无法读取IO的高电平,而刻意设ANSEL=0时,该IO口似乎才能读到1,

使用特权

评论回复
11
wyjie| | 2021-10-10 14:38 | 只看该作者
另外LAT读不到,而PORT才读到

使用特权

评论回复
12
zwll| | 2021-10-10 14:45 | 只看该作者
试试将CCP2的口设ANSEL=0再试。

使用特权

评论回复
13
dingy| | 2021-10-10 14:47 | 只看该作者
读PORT, 写LAT,你寄存器都操作错了,怎么能行呢.

使用特权

评论回复
14
heweibig| | 2021-10-10 14:49 | 只看该作者
花点时间看下datasheet,研究一下基础的东西吧..

使用特权

评论回复
15
dengdc| | 2021-10-10 14:52 | 只看该作者
对于IO口来说,如果做数字功能, 必须先设置对应的ANSELx为数字引脚,然后设置TRISXx为输入/输出功能.

使用特权

评论回复
16
jiahy|  楼主 | 2021-10-10 14:54 | 只看该作者
请问所有口是默认为功能口吗?

使用特权

评论回复
17
liliang9554| | 2021-10-10 14:56 | 只看该作者
似乎默认是输入口吧

使用特权

评论回复
18
huangchui| | 2021-10-10 14:58 | 只看该作者
如果是打算用功能口则进行功能设置,否则都要先进行ANSELX设置吗?

使用特权

评论回复
19
zwll| | 2021-10-10 15:00 | 只看该作者
没有ANSELX设置有时也是能IO读写的。

使用特权

评论回复
20
yufe| | 2021-10-10 15:03 | 只看该作者
在哪些datasheet会说明呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

粉丝