菲律宾申博太阳城微信充值: [技术问答] SC92F8462B的PWM周期计算问题?

永利游戏开户直营
286|7
楼主
想产生38khz方波,也就是周期为26us。
程序如下:
  1. /*****************************************************
  2. *函数名称:void PWM_Init(void)
  3. *函数功能:PWM初始化
  4. *入口参数:void
  5. *出口参数:void
  6. *****************************************************/
  7. void PWM_Init(void)
  8. {
  9.         P2CON|=(1<<7);//PWM5-P27
  10.         
  11.         PWMCFG &= ~(1<<5);        //PWM5输出不反向,时钟源Fosc
  12.         PWMCFG &= ~(1<<6);
  13.         PWMCFG &= ~(1<<7);
  14.         
  15.         PWMPRD  = 159;                //PWM周期=(159+1)*(1/Fpwm);
  16.         
  17.          PWMDTYB = 0X00;     //PWM3/4/5周期与占空比的低2位设置  
  18.         PWMDTY5 = 35;                //PWM0的Duty = 35/160 =7/32
  19.         
  20.         PWMCON |= 0x20;                //PWM5输出到P27
  21.         PWMCON |= 0x80;     //开启PWM
  22.   IE1 |= 0x02; //PWM中断使能
  23.   EA = 1;
  24. }
复制代码


时钟源为FOSC不分频,也就是默认为12Mhz
但是上面源码要按6MHZ算才能输出周期为26us的方波,不知道为什么?

沙发
| 2019-9-22 20:06 | 只看该作者
用的内部时钟?

板凳
 楼主 | 2019-9-23 08:19 | 只看该作者

没晶振,菲律宾申博太阳城微信充值:用的HRC,但是PWM一直不对!
地板
| 2019-9-23 10:09 | 只看该作者
你的计数 160 / 6M 正好等于 26uS 嘛,12M想要26uS,你的计数要用 320
5
 楼主 | 2019-9-23 11:51 | 只看该作者
wh6ic 发表于 2019-9-23 10:09
你的计数 160 / 6M 正好等于 26uS 嘛,12M想要26uS,你的计数要用 320

对呀,正好!所以我就奇怪,为什么莫名其妙的变成6Mhz了,但是系统是默认的24/2=12M呀?
高明不明白!
6
| 2019-9-24 09:22 | 只看该作者
主频是24M,如果程序中没有分频,就看option选项中有没有分频设置
7
 楼主 | 2019-9-24 11:55 | 只看该作者
本帖最后由 hayden0 于 2019-9-24 11:57 编辑
赛元MCU3 发表于 2019-9-24 09:22
主频是24M,如果程序中没有分频,就看option选项中有没有分频设置

我知道主频是24M!option选项里是默认的二分频,而且只有2分频,4分频,12分频。我没动,使用的是默认的2分频。所以是12M。
8
 楼主 | 2019-9-29 14:37 | 只看该作者
有谁遇到过这问题?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
新葡京国际娱乐 抢劫地下赌场登入 太阳城扑克游戏开户网登入 glg娱乐星登录导航 tt云南时时彩走势
龙虎斗游戏 188bet备用网址 盛大巨星官方下载 菲律宾申博太阳城现金网登入 澳门金沙国际赌博
AG网站 菲律宾太阳网址登入 威尼斯盘口开户 王网站开户 ck威尼斯人棋牌官网
申博网上娱乐官网 洛克王国回归礼包 老虎机微信支付充值 重生之娱乐天王笔趣阁 九乐棋牌下载