智能车制作
标题:
零基础写飞思卡尔HCS12X程序,PE示例
[打印本页]
作者:
whut_wj
时间:
2009-12-20 21:11
标题:
零基础写飞思卡尔HCS12X程序,PE示例
其实HCS12X的时钟很简单,比起ARM,甚至是HCS08的8位MCU,就是一个PLL和BUS COLOCK之间的换算。
很多不人愿意看DATASHEET,图太多了,寄存器也是样不多一个样子,所以往往导致程序出问题。
但是,时钟,CRG这块很重要,是一切模块的基础。
那么,如果你不愿意write code,那么就generate code吧。
首先介绍一下process expert,是内嵌在codewarrior(for FSL)是的个代码生成器,但是它只能初始化,形成框架,创建中断。但是你的过程函数(procedure body)肯定是要自己写的。
基本上,所有的初始化都可以自动生成,包括很多人不愿意自己写的memory map,eeprom,中断优先级等杂复一点的问题。
总的概括来说,有如下几个方面的功能:
1 信号输入输出的自动生成和初始化;
2 信号测量功能的自动生成和初始化,包括测量脉冲,AD等;
3 定时器,看门狗。。
4 同步异步通信模块(IIC SPI SCI)
5 FLASH EEPROM操作
值得一提的是还有算法自动生成,在HCS12X里可以生成图像二进制数组。当然在CPU为DSP时,FFT,滤波等等算法也少不了。
主要的操作按上面的图123来就可以了,注意CODEWARRIOR版本要5.0的,5.0版以下的不支持XS128的PE。。。
如果还有加入其它的模块,点ADD BEAN,即可。
好了,按上面的图操作之后呢,点make,代码会自动生成。
不要纳闷生成的代码找不到,这是因为时钟代码放在_EntryPoint函数里了
比main更早执行,比_Startup也早。其实在程序里0xFFFA起始的中断地址里,这个地址是复位中断地址。
代码如下:
setReg8(MMCCTL1, 0);
setReg8(DIRECT, 0);
setReg8(IVBR, 255);
setReg8(ECLKCTL, 64);
setReg8(CLKSEL, 0);
setReg8(PLLCTL, 129); /* Disable the PLL */
setReg8(SYNR, 65); /* Set the multiplier register */
setReg8(REFDV, 192); /* Set the divider register */
setReg8(POSTDIV, 0); /* Set the post divider register */
setReg8(PLLCTL, 193);
while(!CRGFLG_LOCK) { /* Wait until the PLL is within the desired tolerance of
}
setReg8Bits(CLKSEL, 128);
setReg8(VREGHTCL, 16);
真正有用的配置代码就 setReg8(SYNR, 65); setReg8(REFDV, 192);两句,而PE是出于完整性和规范性考虑,生成了一堆代码。
OK,基本就是这样了。
作者:
小当
时间:
2009-12-20 23:36
沙发!!
作者:
librae8226
时间:
2009-12-21 09:36
谢谢~
作者:
lgx-mm
时间:
2009-12-21 10:08
不太明白
作者:
chenrunshe_007
时间:
2009-12-21 13:25
支持,新手们也许可以那这个来玩玩,我觉得还是要去写写代码才有感觉。
作者:
小平
时间:
2009-12-23 21:52
CODEWARRIOR5.0版本很难下载
作者:
勇者无惧
时间:
2009-12-23 23:27
很好很强大!
作者:
daixueyan
时间:
2009-12-24 00:59
喵喵,大家一起努力
作者:
lj00000lj
时间:
2009-12-24 13:19
没太懂!
作者:
法拉利
时间:
2009-12-24 13:49
貌似懂一点。。。
作者:
boa314704442
时间:
2009-12-24 20:32
还是不太明白、、我用C还是可以啊!
作者:
jakerroo
时间:
2009-12-24 23:01
楼主你有特殊功能的beans吗??呵呵,要专业版的,可惜啊。。。。
作者:
小怪兽AK
时间:
2009-12-24 23:30
我菜鸟一个 慢慢看了 谢谢了
作者:
DEMOK
时间:
2009-12-25 13:24
学习哈。。。
作者:
DEMOK
时间:
2009-12-25 13:24
好贴,就得多回几次
作者:
wangbinghong
时间:
2009-12-26 14:54
知道了
作者:
asdhengasd
时间:
2009-12-26 22:50
不是很懂...
作者:
fsker2009
时间:
2009-12-27 09:36
好像muc的IDE啊!!!挺好~~
作者:
anjiayu
时间:
2009-12-27 15:13
还没接触过pe,好像很好用!
作者:
hh200678
时间:
2009-12-27 16:02
顶个2
作者:
zhinengche.com
时间:
2009-12-27 21:49
共同努力
作者:
这不关我事
时间:
2009-12-27 23:13
我需要这个,看看先
作者:
feiying
时间:
2010-1-10 15:04
不太懂
作者:
gulinlong
时间:
2010-1-13 18:19
似乎有点明白!
作者:
God_bin
时间:
2010-1-14 12:30
顶下~看看慢慢理解吧
作者:
God_bin
时间:
2010-1-14 15:14
有没哪位高手分享下PE编写的具体实例程序?具体感受下便于理解,感谢~
作者:
王怀玉
时间:
2010-1-14 22:05
很有用的资料啊
作者:
firs648437
时间:
2010-3-13 20:30
很好很强大
作者:
大水杯
时间:
2010-3-16 18:02
作者:
jiangshou543
时间:
2010-3-16 21:35
不清楚
作者:
liukexin
时间:
2010-3-16 22:47
好像不太明白
作者:
langtao
时间:
2010-3-17 00:00
初学觉得不要依赖这种方法,这样对MCU了解不深刻。当然你了解了可以偷懒一下是好事!这是我的个人看法!
作者:
lfllcy
时间:
2010-3-17 15:05
学习中 感谢!
作者:
fifa_ke
时间:
2010-3-24 21:06
很好 谢谢
作者:
wdlpt
时间:
2010-3-24 21:14
knakan
作者:
劲之旅
时间:
2010-4-3 11:53
0了
作者:
xiahua1587
时间:
2010-4-3 20:12
没必要吧??
作者:
qiuxinhangll
时间:
2010-4-3 23:15
加油
作者:
libinchenglbc
时间:
2010-4-6 11:31
嗯 学习学习.
作者:
wenjianjian
时间:
2010-4-6 15:28
不太明白也
作者:
loveon4
时间:
2010-4-6 19:44
...,
作者:
行者无疆_1987
时间:
2010-4-6 20:59
我的CW5.0突然就不能下程序了,是电脑的问题,请问是不是我删了某一个文件导致不能下载程序的呢?软件我都重装了好几次了....
作者:
jession4
时间:
2010-4-8 23:17
顶
作者:
xyz2782350
时间:
2010-4-20 10:55
很女子很弓虽
作者:
笑尸_花
时间:
2012-4-27 14:32
这样的初始化很多都还不行,I/O口的设置呢?定时器呢?还有很多要重新设定呀,主要是设置那儿不太懂
作者:
枫叶飘泊
时间:
2012-10-23 09:54
可以啊,楼主
作者:
素衣轻风
时间:
2012-10-23 22:30
碉堡了,可以这样的,原来苦逼了
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2