打印
[其他MCU]

LPC54102 让M4变送脉冲输出

[复制链接]
1169|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
春风的暖暖|  楼主 | 2016-1-7 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目的:将液位(角度)百分比按0~10000HZ频率的脉冲输出


//频率输出 P0。19脚输出频率
占用硬件资源   Timer0(端口P0。19)






一、初始化T0
void Init_Timer0(void)

{

        uint32_t timerBaseClock;

      

/* Initialize Timer 0 and Timer 1 */

        Chip_TIMER_Init(LPC_TIMER0);



        /* Setup prescale value on Timer 0 to PCLK */

        Chip_TIMER_PrescaleSet(LPC_TIMER0, 0);


相关下载

相关帖子

沙发
春风的暖暖|  楼主 | 2016-1-7 21:17 | 只看该作者
  /* Reset timers */

        Chip_TIMER_Reset(LPC_TIMER0);



        /* 使能定时器时间相匹配时产生中断 */

        //Chip_TIMER_MatchEnableInt(LPC_TIMER0, 1);



        /* 获取定时器基本时钟速率 */

        timerBaseClock = Chip_Clock_GetAsyncSyscon_ClockRate();  //timerBaseClock=12MHZ



        /* 设置定时器0的每1秒匹配 */

        Chip_TIMER_SetMatch(LPC_TIMER0, 1, (timerBaseClock /1000 ));//上电默认

         

        //Initial state of the pin, high(1) or low(0)

        //MATn

        Chip_TIMER_ExtMatchControlSet(LPC_TIMER0, 0, TIMER_EXTMATCH_TOGGLE, 1);

使用特权

评论回复
板凳
春风的暖暖|  楼主 | 2016-1-7 21:18 | 只看该作者
 /* 设置两个定时器匹配发生时,重新开始 */

        Chip_TIMER_ResetOnMatchEnable(LPC_TIMER0, 1);

      

        /* Start both timers */

        Chip_TIMER_Enable(LPC_TIMER0);



}

使用特权

评论回复
地板
春风的暖暖|  楼主 | 2016-1-7 21:19 | 只看该作者
二、更新输出频率
/*******************************************************************************

*

*

*   输入需要的频率fre)

*******************************************************************************/

void Out_Fre(uint32_t fre)

{



        Chip_TIMER_SetMatch(LPC_TIMER0, 1, (12000000 /2/fre ));

      

        /* Reset timers */

        Chip_TIMER_Reset(LPC_TIMER0);

        /* Start both timers */

        Chip_TIMER_Enable(LPC_TIMER0);

}

使用特权

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

本版积分规则

37

主题

306

帖子

2

粉丝