又要了解一款新的单片机,辉芒微FMD之FT61EC2x。
第一,IDE界面认识
这里是设置界面,用于设置Options,很多单片机的原厂IDE都有这个选项,也可以理解为“配置字”,也许选项不太一样,但是主要作用大差不差。有的是需要代码里进行配置寄存器实现,有的则是直接IDE内置自己选择即可。这个要圈起来,很重要的一个东西。
第二,时钟
还是和往常一样,先看系统时钟源,由OSCCON寄存器进行配置,主要是看bit0和bit【6:4】和bit7这5位,另外3位初始化为0即可,例如我用的是内部低速32khz就是OSCCON = 0B00000001;
下图说明了系统时钟和指令时钟的关系, 而这里的N值就是在第一小节里说的Options设置里的TSEL所设置的。
第三,Timer0定时器
数据手册里没有介绍如何计算Timer0的定时时长,这是在Demo里找到的注释。系统时钟频率选择的是高速16MHz,TSEL选择的是2T,我感觉这里注释的有点问题,这里应该不是指令周期而是N值,因为根据上一小节说明,指令周期应该是N/SysClk=2/16M=0.125us才对。
所以现在我使用系统时钟为内部低速32khz,TESL选择为2T,Timer0预分频设置为256,则计算出的Timer0的定时时长是4.08s。
第四,PWM
使用的是如下图这一颗封装;初看只有PC1--P1E是一路PWM输出;
经过仔细查看手册,发现对于这一路PWM输出少之又少, 只有两个地方有特别说明;
第一:
第二:
整个手册里就上面两个地方有作说明。
------------------------------------------------分割线------------------------------------------------------------------
最后没有使用这个pwm,而是使用的定时器模拟PWM输出信号,改变占空比,即改变IO口输出高低电平的频率来改变小灯亮度。
------------------------------------------------分割线------------------------------------------------------------------------
注意,功耗不正常
以前那个告一段落,现在使用这一款,内核相同,只是封装出的引脚不同。
这次有普通PWM可以使用了,初始用Demo代码稍作修改,只是改了一下工作频率和小灯的引脚以及pwm输出为低电平有效,因为要点亮小灯嘛 。
然后烧程序,3v供电测试发现功耗电流很大,约有19mA,这应该是不正常,正常应该最大也就几个mA。
那么是如何解决的呢?由于Demo里给出的初始化IO口都是设置的输出,我也认为输出应该是正常的,以前有的那个6个脚的就是正常的。现在我把初始化IO部分全部设置为输入,然后需要输出的设置为输出,然后再测就发现功耗正常了。大约也就1点几个mA。
还有看上图占空比的计算公式,占空比就等于脉宽除以周期,也就是PRx/2的n次方。
需要注意的是这个PR4L是一个8位的,所以最大只能写255,我这里设置的有效位为8位,也就是256。所以想要百分百占空比,也就是写PRx为256,不能只写PR4L=256,256换成2进制是(1,0000,0000),即低8位全部写为0了。
对于上面这个问题,开始我还不理解,为什么写256就没有输出了。
希望上面这个新发现对小伙伴们有帮助。