打印
[demo程序]

NV32F100的PWM演示程序

[复制链接]
483|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuanhuanzi|  楼主 | 2020-2-21 14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/**********************************************************************
*
* 实验名称:PWM互补输出
* 实验平台:NV32开发板
* 板载芯片:NV32F100FL64E
* 实验效果:选用FEI内部时钟,总线时钟40Mhz,联合ETM2的通道0(PH0)和通道1(PH1)互补输出
*
************************************************************************/
#include "common.h"
#include "ics.h"
#include "etm.h"
#include "uart.h"
#include "sysinit.h"


int main (void)
{     

        sysinit();//系统初始化

        SIM_RemapETM2CH0Pin();//映射对应通道管脚到PH0
        SIM_RemapETM2CH1Pin();//映射对应通道管脚到PH1

        SIM->SCGC  |= SIM_SCGC_ETM2_MASK;                                                        //使能ETM2时钟
        ETM2->COMBINE &= ~ ETM_COMBINE_COMBINE0_MASK; //通道0和通道1独立
        ETM2->SC |= ETM_SC_CPWMS_MASK;                                                                //选择先增后减的计数方式
        ETM2->COMBINE |= ETM_COMBINE_COMP0_MASK;                         //通道0和通道1的输出互补
        ETM2->CONTROLS[0].CnSC = ETM_CnSC_ELSA_MASK;  //低真脉冲
        ETM2->CONTROLS[1].CnSC = ETM_CnSC_ELSA_MASK;        
         
   
        ETM_SetModValue(ETM2, 3999);//设置频率10KHz
       
    ETM_SetChannelValue(ETM2, ETM_CHANNEL_CHANNEL0, 2000);//设置占空比为50%
        ETM_SetChannelValue(ETM2, ETM_CHANNEL_CHANNEL1, 2000);       

        ETM_ClockSet(ETM2, ETM_CLOCK_SYSTEMCLOCK, ETM_CLOCK_PS_DIV1); //ETM2时钟设置


          while(1);

}



使用特权

评论回复

相关帖子

沙发
xuanhuanzi|  楼主 | 2020-2-21 14:19 | 只看该作者
NV32F100x-KEIL例程包+v1.1.zip (4.21 MB)

使用特权

评论回复
板凳
xuanhuanzi|  楼主 | 2020-2-21 14:19 | 只看该作者
NV32F100_用户手册_V1.55 (1).pdf (1.57 MB)

使用特权

评论回复
地板
xuanhuanzi|  楼主 | 2020-2-21 14:19 | 只看该作者
例子做的挺好,跟新唐的有一拼。很容易上手。

使用特权

评论回复
5
wanduzi| | 2020-2-21 14:22 | 只看该作者
楼主在学这个系列啊,多分享点经验啊,

使用特权

评论回复
6
zhuomuniao110| | 2020-3-22 16:38 | 只看该作者
代码有点参考STM32的风格

使用特权

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

本版积分规则

161

主题

2129

帖子

2

粉丝