Microchip
直播中

刘鹏

8年用户 206经验值
私信 关注
[问答]

怎么配置一个具有50%占空比的50kHz PWM信号CCP2 ?

我想配置一个具有50%占空比的50kHz PWM信号CCP2。哪一个脚是输出信号?我已经对PORTC位2和3进行了限制,什么也看不见。请参阅下面的mcc.c文件:/**Generated Pin Manager File Company:Microchip Technology Inc.File Name:pin_manager.c Summary:这是使用MPLAB∈Code Configurator Description:这个头文件为GUI中选择的所有pin提供pinAPI的实现。生成信息:产品修订:MPLAB∈代码配置器-v2.10.3设备:PIC16F1708驱动程序版本:1.02所生成的驱动程序针对以下内容进行测试:编译器:XC8 v1.34MPLAB:MPLAB X 2.26*/*Copyright(c)2013-2015发布的微芯片技术公司。只有嵌入到集成到您的产品或第三方产品中的微芯片微控制器或数字信号控制器上(根据所附许可协议中的分许可条款),您才有权使用、修改、复制和分发软件。有关您的权利和义务,请参阅本软件所附的许可协议。软件和文件被“原样”提供,没有任何种类的、明示或暗示的保证,包括但不限于,任何可商用的、临时的保证。E、非侵权和特殊用途的合适性.在任何情况下,所有小型芯片或其许可方都不应承担或义务不受约束、抵触、严格责任、承诺、违反保证、或任何直接或间接损害或超出包括但不限于其他法律上等同的理论任何间接、特别、间接、惩罚性或相继的间接、特别、间接、间接、惩罚性损害、损失或遗失、或遗失、或遗失、替代货物、技术、服务、或任何索赔(包括但不限于任何一方当事人的任何防卫、任何一方当事人的任何防卫事由、但不限于任何一方当事人的任何、特别、间接、特别、间接、惩罚性或间接、惩罚性或相继损害、遗失或遗失、损益或遗失数据、替代货物、技术、服务或任何索赔、服务或任何索赔(不包括但不限于但不限于但不限于但不限于任何一方当事人)或任何其他类似费用。*/\\\\\\\#include“pin_manager.h”包括< stdbool.h>包含&stdbool.h>vo PIN_MANAGER_初始化(无效){LATA=0x00_PIN_MAMANAGER_初始化(无效){LAN_MANANANAGER_MANAGER_MANAGER_初始化(无效){LATA=0XTA=0x00;TRISA=0x00=0x00;TRISA=0x11;ANSELALALALALALALALALALALALALALALALALALALA=0xLA=0xLAXLA=0xLAXLA=0XLAXLA=0x00=0x00=0x00=SELC=0x00;WPUC=0x00;//设置PWMFOSC=8MHzTOSC=1/FOSCTRISCbit.TRISC2=0;//配置CCP2用于输出CCP2CON=0b00101100;//PWM模式单输出和50%占空比循环位<5,4>=10PR2=39;//频率为50kHz。周期=1/频率//PWM周期=[PR2+1]*4*Tosc*T2CON比特T2CON比特*TMR2ON=1*托*T2CKPS=[39+1]*T2CKPS=[39+1]*T2CKPS=[39+1]*4**4**4**4*(1/8MHz)*1 CCPTMRMRS位1*1CCP2TSEL=0b00;//选择定时器2作为PWM源CCPR2L2LCCPR2L=0x1E84;//选择定时器选择定时器22222作为PWM源CCPR2L CCPR2L=0x1E84;//50%责任周期T2CON周期T2CON2CPCPCPCPCPCPCPCPCP2L=0x1EWPUEN=0x01;bool state=GIE;GIE=GIE;PPSLOCK=0x55;PPSLOCK=0xAA;PPSLOCK位;PPSLOCK位。PPSLOCK位。PPSLOCOCKPPSLOCK位=0x00;//PPSLSLSLSLSLSLOCOCOCKE=0x00;//解锁PPS RSLSLSLSLCPCPCPSRSP=0XXXCPPS0x00;//RB5->//解锁PPS RX解锁PPS RXPSRXPPSRXPPSRXPPSRXPPSRXPPS=0x0x0x0x0x0x0x0x0000;//RB5->/RB5-&解锁PPPS解锁PPPS解锁PPS解锁PPS 7PPS=0x0D;//RB7->EUSART1 PPSLOCK=0x55;PPSLOCK=0xAAppsLoopBist.PsScLoope= 0x01;//CopyPPS Ge=状态;}/**文件结束*

回帖(9)

丁亚念

2019-9-23 08:30:23
没有代码来选择CCP2输出引脚。我假设你必须告诉MCC哪个引脚发送输出到。
举报

杨玲

2019-9-23 08:48:57
你真正使用的是哪个设备?CCPR2L是一个8位寄存器。CCP2R是完整的占空比寄存器,它应该加载一个10位的值,而不是13位的值。如果你想要50%的占空比,只需要用PR2/2加载它。如果定时器预分频器被设置为1,这是正确的,但是你把它设置为128。
举报

王文雨

2019-9-23 08:57:47
这就是问题所在。如何分配CCP2?我为MCC所做的每一次尝试都以灾难告终。我真的需要去上课。
举报

丁亚念

2019-9-23 09:06:37
邓诺,我从来没有用过MCC。你的代码分配UART RX和TX管脚是从哪里来的?只是更多的相同。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分