查看: 7751|回复: 6

[其他] 怎样实现用IO口来模拟PWM

[复制链接]

该用户从未签到

11

主题

67

帖子

0

新手上路

Rank: 1

积分
107
最后登录
1970-1-1
发表于 2012-11-16 14:54:20 | 显示全部楼层 |阅读模式
各位同仁您们好我想问先怎样在 KL 系列的 MCU 上实现用 IO口来模拟PWM  控制蜂鸣器?
谢谢 !
我知道答案 目前已有5人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-11-23 16:12:21 | 显示全部楼层

    RE:怎样实现用IO口来模拟PWM

    用定时器来控制输出或者用延时的方式来实现。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    67

    帖子

    0

    新手上路

    Rank: 1

    积分
    107
    最后登录
    1970-1-1
     楼主| 发表于 2012-11-29 17:42:32 | 显示全部楼层

    RE:怎样实现用IO口来模拟PWM

    非常感谢您,能不能分享点参考代码呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    2
    最后登录
    1970-1-1
    发表于 2012-11-29 19:58:53 | 显示全部楼层

    RE:怎样实现用IO口来模拟PWM

    这个人家怎么会为了你这个专门给你写呢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    67

    帖子

    0

    新手上路

    Rank: 1

    积分
    107
    最后登录
    1970-1-1
     楼主| 发表于 2012-11-30 08:58:16 | 显示全部楼层

    RE:怎样实现用IO口来模拟PWM

    提供一个例程嘛,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    288

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    610
    最后登录
    1970-1-1
    发表于 2012-12-14 10:24:37 | 显示全部楼层

    RE:怎样实现用IO口来模拟PWM

    自己写一下吧,这个很简单的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    67

    帖子

    0

    新手上路

    Rank: 1

    积分
    107
    最后登录
    1970-1-1
     楼主| 发表于 2012-12-18 08:48:24 | 显示全部楼层

    回复:怎样实现用IO口来模拟PWM

    int  main()
    {
        SIM ->SCGC6 |= SIM_SCGC6_TPM0_MASK ;                                  // turn on clock to TPM1
       SIM ->SOPT2 |= SIM_SOPT2_TPMSRC(1);                                       // 选择 TMP 的时钟源
      PORTD -&gtCR[1] = (uint32_t)(PORTD -&gtCR[1] & (uint32_t)~(uint32_t)(PORT_PCR_ISF_MASK
      |PORT_PCR_MUX(0x03))|(uint32_t)(PORT_PCR_MUX(0x04)));
      
      TPM0-> MOD = 1000;
      TPM0-> CONTROLS[1].CnSC = 0xAC;
        TPM0->CONTROLS[1].CnV = 500;
        TPM0->SC =  0x3E8; //TPM_SC_CMOD(1) | TPM_SC_PS(1);    
      TPM0->STATUS = 0x3;
      
     while (1) ;
     return 0;
    }
     
    各位大侠帮忙看看这程序哪点出问题了呢? 我想输出 PWM 波 ,可不能实现 。
    谢谢 !
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 15:49 , Processed in 0.104756 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表