[Kinetis] 编写PIT代码碰到的疑问

[复制链接]
903|3
 楼主| flyriz 发表于 2015-4-17 14:59 | 显示全部楼层 |阅读模式
大家好,有个问题请教一下:
QQ截图20150417144303.jpg
以上红框中的两条语句,SIM->SCGC6 |= SIM_SCGC6_PIT_MASK 必须放到前面,如果放到

PIT->CHANNEL[HW_PIT_CH0].TCTRL &= ~(PIT_TCTRL_TEN_MASK);
的后面,调试时则会出错,进入HardFault_Handler 。
这是什么原因呢?是因为PIT Clock Gate Control打开之前,不能对PIT的寄存器进行读写操作吗?谢谢!



FSL_TICS_ZJJ 发表于 2015-4-17 17:15 | 显示全部楼层
那是必须的,SIM是打开模块时钟,如果模块时钟不打开就操作相应模块的寄存器就会进入hardfault,这是kinetis的常识。
不仅仅PIT是这样,所有的模块都是这样,都需要先打开时钟,然后再配置寄存器。
 楼主| flyriz 发表于 2015-4-18 17:37 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-4-17 17:15
那是必须的,SIM是打开模块时钟,如果模块时钟不打开就操作相应模块的寄存器就会进入hardfault,这是kineti ...

哦,多谢
FSL_TICS_ZJJ 发表于 2015-4-20 14:45 | 显示全部楼层

   非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

439

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部