📄 pwm12.h
字号:
/**********************************************************************/
/* Header for PWM module library functions */
/**********************************************************************/
#if defined(__dsPIC30F__)
#include <p30fxxxx.h>
#elif defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#else
#error "This file is for 30F or 33F devices only!"
#endif
#ifndef __PWM12_H
#define __PWM12_H
#ifdef _PWM1IF
/* List of SFRs for PWM1 */
/* This list contains the SFRs with default (POR) values to be used for configuring PWM */
/* The user can modify this based on the requirement */
#define P1TCON_VALUE 0x0000
#define P1TMR_VALUE 0x0000
#define P1TPER_VALUE 0x0000
#define P1SECMP_VALUE 0x0000
#define PWM1CON2_VALUE 0x0000
#define P1DTCON1_VALUE 0x0000
#define P1DTCON2_VALUE 0x0000
#define P1FLTACON_VALUE 0x0000
#define P1FLTBCON_VALUE 0x0000
#define P1DC1_VALUE 0x0000
#define P1DC2_VALUE 0x0000
#define P1DC3_VALUE 0x0000
#define P1DC4_VALUE 0x0000
#ifdef _FLTBIF
#define PWM1CON1_VALUE 0x00FF
#define P1OVDCON_VALUE 0xFF00
#else
#define PWM1CON1_VALUE 0x0077
#define P1OVDCON_VALUE 0x3F00
#endif
/* P1TCON Configuration Bit Definitions */
#define PWM1_EN 0xA0FF /*Module enable*/
#define PWM1_DIS 0x20FF /*Module disable*/
#define PWM1_IDLE_STOP 0xA0FF /*stop in Idle mode*/
#define PWM1_IDLE_CON 0x80FF /*operate in Idle mode*/
#define PWM1_OP_SCALE1 0xA00F /*Out put post scaler 1:1*/
#define PWM1_OP_SCALE2 0xA01F /*Out put post scaler 1:2*/
#define PWM1_OP_SCALE3 0xA02F /*Out put post scaler 1:3*/
#define PWM1_OP_SCALE4 0xA03F /*Out put post scaler 1:4*/
#define PWM1_OP_SCALE5 0xA04F /*Out put post scaler 1:5*/
#define PWM1_OP_SCALE6 0xA05F /*Out put post scaler 1:6*/
#define PWM1_OP_SCALE7 0xA06F /*Out put post scaler 1:7*/
#define PWM1_OP_SCALE8 0xA07F /*Out put post scaler 1:8*/
#define PWM1_OP_SCALE9 0xA08F /*Out put post scaler 1:9*/
#define PWM1_OP_SCALE10 0xA09F /*Out put post scaler 1:10*/
#define PWM1_OP_SCALE11 0xA0AF /*Out put post scaler 1:11*/
#define PWM1_OP_SCALE12 0xA0BF /*Out put post scaler 1:12*/
#define PWM1_OP_SCALE13 0xA0CF /*Out put post scaler 1:13*/
#define PWM1_OP_SCALE14 0xA0DF /*Out put post scaler 1:14*/
#define PWM1_OP_SCALE15 0xA0EF /*Out put post scaler 1:15*/
#define PWM1_OP_SCALE16 0xA0FF /*Out put post scaler 1:16*/
#define PWM1_IPCLK_SCALE1 0xA0F3 /*Input pre scaler 1:1*/
#define PWM1_IPCLK_SCALE4 0xA0F7 /*Input pre scaler 1:4*/
#define PWM1_IPCLK_SCALE16 0xA0FB /*Input pre scaler 1:16*/
#define PWM1_IPCLK_SCALE64 0xA0FF /*Input pre scaler 1:64*/
#define PWM1_MOD_FREE 0xA0FC /*Mode of operation Free Running*/
#define PWM1_MOD_SING 0xA0FD /*Mode of operation Single shot*/
#define PWM1_MOD_UPDN 0xA0FE /*Mode of operation Up down */
#define PWM1_MOD_DBL 0xA0FF /*Mode of operation Updown with double update*/
/* PWM1CON1 Configuration Bit Definitions */
#define PWM1_MOD3_COMP 0x0BFF /*3th channel in complimentary mode*/
#define PWM1_MOD2_COMP 0x0DFF /*2th channel in complimentary mode*/
#define PWM1_MOD1_COMP 0x0EFF /*1th channel in complimentary mode*/
#define PWM1_MOD3_IND 0x0FFF /*3th channel in independant mode*/
#define PWM1_MOD2_IND 0x0FFF /*2th channel in independant mode*/
#define PWM1_MOD1_IND 0x0FFF /*1th channel in independant mode*/
#define PWM1_PEN3H 0x0FFF /*H of channel 3 works as PWM*/
#define PWM1_PDIS3H 0x0FBF /*H of channel 3 works as IO*/
#define PWM1_PEN2H 0x0FFF /*H of channel 2 works as PWM*/
#define PWM1_PDIS2H 0x0FDF /*H of channel 2 works as IO*/
#define PWM1_PEN1H 0x0FFF /*H of channel 1 works as PWM*/
#define PWM1_PDIS1H 0x0FEF /*H of channel 1 works as IO*/
#define PWM1_PEN3L 0x0FFF /*L of channel 3 works as PWM*/
#define PWM1_PDIS3L 0x0FFB /*L of channel 3 works as IO*/
#define PWM1_PEN2L 0x0FFF /*L of channel 2 works as PWM*/
#define PWM1_PDIS2L 0x0FFD /*L of channel 2 works as IO*/
#define PWM1_PEN1L 0x0FFF /*L of channel 1 works as PWM*/
#define PWM1_PDIS1L 0x0FFE /*L of channel 1 works as IO*/
/* PWM1CON2 Configuration Bit Definitions */
#define PWM1_SEVOPS1 0x0003 /*Special event post scaler 1:1*/
#define PWM1_SEVOPS2 0x0103 /*Special event post scaler 1:2*/
#define PWM1_SEVOPS3 0x0203 /*Special event post scaler 1:3*/
#define PWM1_SEVOPS4 0x0303 /*Special event post scaler 1:4*/
#define PWM1_SEVOPS5 0x0403 /*Special event post scaler 1:5*/
#define PWM1_SEVOPS6 0x0503 /*Special event post scaler 1:6*/
#define PWM1_SEVOPS7 0x0603 /*Special event post scaler 1:7*/
#define PWM1_SEVOPS8 0x0703 /*Special event post scaler 1:8*/
#define PWM1_SEVOPS9 0x0803 /*Special event post scaler 1:9*/
#define PWM1_SEVOPS10 0x0903 /*Special event post scaler 1:10*/
#define PWM1_SEVOPS11 0x0A03 /*Special event post scaler 1:11*/
#define PWM1_SEVOPS12 0x0B03 /*Special event post scaler 1:12*/
#define PWM1_SEVOPS13 0x0C03 /*Special event post scaler 1:13*/
#define PWM1_SEVOPS14 0x0D03 /*Special event post scaler 1:14*/
#define PWM1_SEVOPS15 0x0E03 /*Special event post scaler 1:15*/
#define PWM1_SEVOPS16 0x0F03 /*Special event post scaler 1:16*/
#define PWM1_OSYNC_PWM 0x0F03 /*over ride syncronised with PWM clk*/
#define PWM1_OSYNC_TCY 0x0F01 /*over ride syncronised with sys clk*/
#define PWM1_UDIS 0x0F03 /*Update of PDCs and PTPER disabled*/
#define PWM1_UEN 0x0F02 /*Update of PDCs and PTPER enabled*/
/* P1DTCON1 Configuration Bit Definitions */
#define PWM1_DTBPS8 0xFFFF /*Dead B time PreScaler = 8*/
#define PWM1_DTBPS4 0xBFFF /*Dead B time PreScaler = 4*/
#define PWM1_DTBPS2 0x7FFF /*Dead B time PreScaler = 2*/
#define PWM1_DTBPS1 0x3FFF /*Dead B time PreScaler = 1*/
#define PWM1_DTAPS8 0xFFFF /*Dead A time PreScaler = 8*/
#define PWM1_DTAPS4 0xFFBF /*Dead A time PreScaler = 4*/
#define PWM1_DTAPS2 0xFF7F /*Dead A time PreScaler = 2*/
#define PWM1_DTAPS1 0xFF3F /*Dead A time PreScaler = 1*/
/* 6-bit dead time value bits for Dead Time Unit A */
#define PWM1_DTA0 0xFFC0 /*Dead time Unit A PreScale select value */
#define PWM1_DTA1 0xFFC1 /*Dead time Unit A PreScale select value */
#define PWM1_DTA2 0xFFC2 /*Dead time Unit A PreScale select value */
#define PWM1_DTA3 0xFFC3 /*Dead time Unit A PreScale select value */
#define PWM1_DTA4 0xFFC4 /*Dead time Unit A PreScale select value */
#define PWM1_DTA5 0xFFC5 /*Dead time Unit A PreScale select value */
#define PWM1_DTA6 0xFFC6 /*Dead time Unit A PreScale select value */
#define PWM1_DTA7 0xFFC7 /*Dead time Unit A PreScale select value */
#define PWM1_DTA8 0xFFC8 /*Dead time Unit A PreScale select value */
#define PWM1_DTA9 0xFFC9 /*Dead time Unit A PreScale select value */
#define PWM1_DTA10 0xFFCA /*Dead time Unit A PreScale select value */
#define PWM1_DTA11 0xFFCB /*Dead time Unit A PreScale select value */
#define PWM1_DTA12 0xFFCC /*Dead time Unit A PreScale select value */
#define PWM1_DTA13 0xFFCD /*Dead time Unit A PreScale select value */
#define PWM1_DTA14 0xFFCE /*Dead time Unit A PreScale select value */
#define PWM1_DTA15 0xFFCF /*Dead time Unit A PreScale select value */
#define PWM1_DTA16 0xFFD0 /*Dead time Unit A PreScale select value */
#define PWM1_DTA17 0xFFD1 /*Dead time Unit A PreScale select value */
#define PWM1_DTA18 0xFFD2 /*Dead time Unit A PreScale select value */
#define PWM1_DTA19 0xFFD3 /*Dead time Unit A PreScale select value */
#define PWM1_DTA20 0xFFD4 /*Dead time Unit A PreScale select value */
#define PWM1_DTA21 0xFFD5 /*Dead time Unit A PreScale select value */
#define PWM1_DTA22 0xFFD6 /*Dead time Unit A PreScale select value */
#define PWM1_DTA23 0xFFD7 /*Dead time Unit A PreScale select value */
#define PWM1_DTA24 0xFFD8 /*Dead time Unit A PreScale select value */
#define PWM1_DTA25 0xFFD9 /*Dead time Unit A PreScale select value */
#define PWM1_DTA26 0xFFDA /*Dead time Unit A PreScale select value */
#define PWM1_DTA27 0xFFDB /*Dead time Unit A PreScale select value */
#define PWM1_DTA28 0xFFDC /*Dead time Unit A PreScale select value */
#define PWM1_DTA29 0xFFDD /*Dead time Unit A PreScale select value */
#define PWM1_DTA30 0xFFDE /*Dead time Unit A PreScale select value */
#define PWM1_DTA31 0xFFDF /*Dead time Unit A PreScale select value */
#define PWM1_DTA32 0xFFE0 /*Dead time Unit A PreScale select value */
#define PWM1_DTA33 0xFFE1 /*Dead time Unit A PreScale select value */
#define PWM1_DTA34 0xFFE2 /*Dead time Unit A PreScale select value */
#define PWM1_DTA35 0xFFE3 /*Dead time Unit A PreScale select value */
#define PWM1_DTA36 0xFFE4 /*Dead time Unit A PreScale select value */
#define PWM1_DTA37 0xFFE5 /*Dead time Unit A PreScale select value */
#define PWM1_DTA38 0xFFE6 /*Dead time Unit A PreScale select value */
#define PWM1_DTA39 0xFFE7 /*Dead time Unit A PreScale select value */
#define PWM1_DTA40 0xFFE8 /*Dead time Unit A PreScale select value */
#define PWM1_DTA41 0xFFE9 /*Dead time Unit A PreScale select value */
#define PWM1_DTA42 0xFFEA /*Dead time Unit A PreScale select value */
#define PWM1_DTA43 0xFFEB /*Dead time Unit A PreScale select value */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -