2014年8月12日星期二
下午7时53分
下午10时11分
没有这方面的基础下,入门自己摸索如何进行学习。
学习环境
这是5.9版的,已经很早的,但是学习来看,还是可以的吧。
在启动的界面中,进入到Run Getting Started Tutorial这样就可以通过软件自带的教程进行学习了。
进入到出来如下的界面
选择下面这个C with Device Initialization Tutorial进入。
接下来会出来如下的提示
从上面的说明来看,会看到一个闪烁的LED的示例 ,我们就跟随示例进行操作吧。
结果倒霉了,无法打开这个示例。
于是到开发环境的安装位置下面找呀找,找到了下面的东东,这个就是我们要的嘛
Freescale\CodeWarrior for Microcontrollers V6.3\(CodeWarrior_Examples)\HC08\Device Initialization C Examples\QT4_TIM_LedDemo
把这个示例复制出来,用CW软件打开这个里面的mcp后缀的文件,这个是工程文件了
打开后,经过一小会的如下介面后,就出来了开发的环境了。
出来的开发介面如下,来看看都有些什么?
最上面的菜单就不看了,左面有个代码的列表,右面有个图,像芯片一样的,应该就是示例的芯片了。
看的出来这个芯片叫MC68HC908QT4CP芯片。去找个芯片手册来对照一下。
的确是它家的货。下载来看看,MCU的资料比较多,有点慢,下下来后看到了下面的信息
飞思卡尔原来是摩托罗拉出来的。当时在2004年时,摩托罗拉的半导体部门独立成飞思卡尔,目前是美国排名第七的半导体销售公司,在全球20多个国家,拥有1.7万名员工。而这个MC68HC908QT4CP就是它的6800系统中的一款。这应该是比较早期的一款产品了。不管这个芯片还在不在产,我们先通过这个现成的例子学习一下如何使用它的开发环境。
看一下芯片的简介
这个是一个只有8只脚的芯片,与上面的那张图是可以完全对应的上的。
把开发环境左边的显示部分展开后,看到如下的结构
从上面的Code,Data为0的显示来看,这个是说明这些还没有编写,打开看一下里面的main.c文件。
这个里面的显示内容为一些自动生成的代码。看main的程序,第一句是进行MCU_init(),完成了芯片的初始化,具体初始化了一些什么东西,我看可以看Generated Code 下的MCUinit.c这个文件中写了什么?
打开MCUinit.c这个文件
里面先看到的是初始化的注释,说明这个文件由工具生成,我们不要去动它。
这个里面说明这个要由Generate code来生成,好吧,我来按一下Generate Code会怎么样
当点了MCU图的右边的有引线出来的脚 后,跳出下面这个图
把左侧的列表收拢后,看到如下的图
也可以理解,左面都是对应的器件参数设置,从最上面的那个Timer来看,对应的设置是TIM,按一下那个小三角,也没有什么可以改动的。看下面的Initialization,展开后,展示如下
说明这个计时器在初始化的时候,就Start counter了,因为这个yes,
点一下那个圆圈,改成No后会怎么样
注意看一下右侧的圆点的图。有些寄存器发生了变化,看他们的Init.value,其中的TSC这个寄存器发生了变化,它变成了24,它的bit5置位了。
把鼠标放到第三行的bit5上,可以看到解释说这个是TIM Stop的配置位,如果这个位置1,意思就是让这个计数器不要启动了。
由于我们要看它的效果, 所以改回原来的默认的YES吧。
再看另一个,中断
前面打了正确钩的第二行,这个Disabled来说明这个中断是不使用的。如果把它改掉呢。
这时正确钩就变成了感叹号,说明需要注意了,注意的内容是ISR name,这个中断的名称没有定义。由于我们不使用这个中断,就还是disable吧。
这部分也是不需要改的,就不动了。
Settings这个里面有很多,一个一个来看,不要吓到了。
这个预分频, 是可以选择的,默认是16分频,计数25000个,得出来的是125ms,如果改成其它的分频看看。
在32分频下,就变成了250ms,变慢了。好了改回去吧。
上面说明使用的比较设备是TIM1,模式为输出比较或PWM,输出方式为比较切换,当达到25000时就切换输出状态,那个duty时间是自动计算出来的,其它的几个暂时还不清楚,先放着。
回到原来的那个芯片图,点一下CPU那个小图,出来如下的内容
说明使用了内部的振荡,为12.8MHz,不使用外部复位等等的一系列的配置。不细看了。
终于到了期待已久的一刻了,开始Generate Code,点后出来如下的图。
什么都不要改,生成就是了。又出来个提示
OK掉
这回有货了
完成后将下图改一下,改成Full chip Simulation,再点一下右侧的三角debug
出来了这个窗口
点一下运行,跑到了 for循环中间后,我们什么也没看到,因为这里现在什么也没有体现。估计是应该会有LED闪才对。
文章评论(0条评论)
登录后参与讨论