飞思卡尔智能车电磁组k60程序中,为什么初始化2个ftm_pwm波去控制电机的转动

飞思卡尔智能车电磁组k60程序中,为什么初始化2个ftm_pwm波去控制电机的转动,第1张

51也有这种方式做pwm输出,同样,一个是用定时器0做载频,定时器1做pwm调制,我不知道飞思卡尔单片机有没有专用的pwm口输出,好果没有专用的pwm口输出,那就是我前面说的这样,主要用与调节电机的快慢,

K60是一个机械键盘品牌,其设施下排按键的方法如下:

1. 首先,将键盘翻转过来,把键帽从下方拆下来,揭开后将键帽和键轴分开,即可看到底部电路板上的按键。

2. 通过调整按键的位置和方向,来实现下排按键的设施。按键的位置和方向需要与电路板的布局相对应,以确保按键能够正常工作。

3. 拆下键帽后,可以在键轴上安装新的键帽,以实现更换按键的目的。键帽的形状和大小需要与键轴相匹配,以确保按键的灵敏度和舒适度。

需要注意的是,设施下排按键需要一定的技术和经验,如果您没有相关经验,建议寻求专业人士的帮助,以避免损坏键盘和电路板。同时,使用机械键盘时需要注意保养和清洁,避免灰尘和污垢影响键盘的使用寿命和性能。

[cpp] view plaincopyprint?

/* ----------------------------------------------------------------------------

-- PORT

---------------------------------------------------------------------------- */

/**

* @addtogroup PORT_Peripheral PORT

* @{

*/

/** PORT - Peripheral register structure */

typedef struct PORT_MemMap {

uint32_t PCR[32] /**<Pin Control Register n, array offset: 0x0, array step: 0x4 */

uint32_t GPCLR /**<Global Pin Control Low Register, offset: 0x80 */

uint32_t GPCHR /**<Global Pin Control High Register, offset: 0x84 */

uint8_t RESERVED_0[24]

uint32_t ISFR /**<Interrupt Status Flag Register, offset: 0xA0 */

uint8_t RESERVED_1[28]

uint32_t DFER /**<Digital Filter Enable Register, offset: 0xC0 */

uint32_t DFCR /**<Digital Filter Clock Register, offset: 0xC4 */

uint32_t DFWR /**<Digital Filter Width Register, offset: 0xC8 */

} volatile *PORT_MemMapPtr

/* ----------------------------------------------------------------------------

-- PORT - Register accessor macros

---------------------------------------------------------------------------- */

/**

* @addtogroup PORT_Register_Accessor_Macros PORT - Register accessor macros

* @{

*/

/* PORT - Register accessors */

#define PORT_PCR_REG(base,index) ((base)->PCR[index])

#define PORT_GPCLR_REG(base) ((base)->GPCLR)

#define PORT_GPCHR_REG(base) ((base)->GPCHR)

#define PORT_ISFR_REG(base) ((base)->ISFR)

#define PORT_DFER_REG(base) ((base)->DFER)

#define PORT_DFCR_REG(base) ((base)->DFCR)

#define PORT_DFWR_REG(base) ((base)->DFWR)

/**

* @}

*/ /* end of group PORT_Register_Accessor_Macros */

/* ----------------------------------------------------------------------------

-- PORT Register Masks

---------------------------------------------------------------------------- */

/**

* @addtogroup PORT_Register_Masks PORT Register Masks

* @{

*/

/* PCR Bit Fields */

#define PORT_PCR_PS_MASK 0x1u

#define PORT_PCR_PS_SHIFT0

#define PORT_PCR_PE_MASK 0x2u

#define PORT_PCR_PE_SHIFT1

#define PORT_PCR_SRE_MASK0x4u

#define PORT_PCR_SRE_SHIFT 2

#define PORT_PCR_PFE_MASK0x10u

#define PORT_PCR_PFE_SHIFT 4

#define PORT_PCR_ODE_MASK0x20u

#define PORT_PCR_ODE_SHIFT 5

#define PORT_PCR_DSE_MASK0x40u

#define PORT_PCR_DSE_SHIFT 6

#define PORT_PCR_MUX_MASK0x700u

#define PORT_PCR_MUX_SHIFT 8

#define PORT_PCR_MUX(x) (((uint32_t)(((uint32_t)(x))<<PORT_PCR_MUX_SHIFT))&PORT_PCR_MUX_MASK)

#define PORT_PCR_LK_MASK 0x8000u

#define PORT_PCR_LK_SHIFT15

#define PORT_PCR_IRQC_MASK 0xF0000u

#define PORT_PCR_IRQC_SHIFT 16

#define PORT_PCR_IRQC(x) (((uint32_t)(((uint32_t)(x))<<PORT_PCR_IRQC_SHIFT))&PORT_PCR_IRQC_MASK)

#define PORT_PCR_ISF_MASK0x1000000u

#define PORT_PCR_ISF_SHIFT 24

/* GPCLR Bit Fields */

#define PORT_GPCLR_GPWD_MASK 0xFFFFu

#define PORT_GPCLR_GPWD_SHIFT0

#define PORT_GPCLR_GPWD(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCLR_GPWD_SHIFT))&PORT_GPCLR_GPWD_MASK)

#define PORT_GPCLR_GPWE_MASK 0xFFFF0000u

#define PORT_GPCLR_GPWE_SHIFT16

#define PORT_GPCLR_GPWE(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCLR_GPWE_SHIFT))&PORT_GPCLR_GPWE_MASK)

/* GPCHR Bit Fields */

#define PORT_GPCHR_GPWD_MASK 0xFFFFu

#define PORT_GPCHR_GPWD_SHIFT0

#define PORT_GPCHR_GPWD(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCHR_GPWD_SHIFT))&PORT_GPCHR_GPWD_MASK)

#define PORT_GPCHR_GPWE_MASK 0xFFFF0000u

#define PORT_GPCHR_GPWE_SHIFT16

#define PORT_GPCHR_GPWE(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCHR_GPWE_SHIFT))&PORT_GPCHR_GPWE_MASK)

/* ISFR Bit Fields */

#define PORT_ISFR_ISF_MASK 0xFFFFFFFFu

#define PORT_ISFR_ISF_SHIFT 0

#define PORT_ISFR_ISF(x) (((uint32_t)(((uint32_t)(x))<<PORT_ISFR_ISF_SHIFT))&PORT_ISFR_ISF_MASK)

/* DFER Bit Fields */

#define PORT_DFER_DFE_MASK 0xFFFFFFFFu

#define PORT_DFER_DFE_SHIFT 0

#define PORT_DFER_DFE(x) (((uint32_t)(((uint32_t)(x))<<PORT_DFER_DFE_SHIFT))&PORT_DFER_DFE_MASK)

/* DFCR Bit Fields */

#define PORT_DFCR_CS_MASK0x1u

#define PORT_DFCR_CS_SHIFT 0

/* DFWR Bit Fields */

#define PORT_DFWR_FILT_MASK 0x1Fu

#define PORT_DFWR_FILT_SHIFT 0

#define PORT_DFWR_FILT(x)(((uint32_t)(((uint32_t)(x))<<PORT_DFWR_FILT_SHIFT))&PORT_DFWR_FILT_MASK)

/**

* @}

*/ /* end of group PORT_Register_Masks */

/* PORT - Peripheral instance base addresses */

/** Peripheral PORTA base pointer */

#define PORTA_BASE_PTR ((PORT_MemMapPtr)0x40049000u)

/** Peripheral PORTB base pointer */

#define PORTB_BASE_PTR ((PORT_MemMapPtr)0x4004A000u)

/** Peripheral PORTC base pointer */

#define PORTC_BASE_PTR ((PORT_MemMapPtr)0x4004B000u)

/** Peripheral PORTD base pointer */

#define PORTD_BASE_PTR ((PORT_MemMapPtr)0x4004C000u)

/** Peripheral PORTE base pointer */

#define PORTE_BASE_PTR ((PORT_MemMapPtr)0x4004D000u)

/* ----------------------------------------------------------------------------

-- PORT - Register accessor macros

---------------------------------------------------------------------------- */

/**

* @addtogroup PORT_Register_Accessor_Macros PORT - Register accessor macros

* @{

*/


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11173533.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存