rowen800 发表于 2014-9-29 17:25:33

给初学K60的童鞋几点建议(转)

首先要问问,童鞋们是否在这之前接触过STM32这一单片机,如果接触了就便于理解K60的程序编写步骤及方法!而对于刚从51入手的同学来说,其实也不是件难事,把话说白了就是用别人函数库进行相应的设置。我在下面举几个例子,至于其中用到的函数库网上有(洋葱圈的LPLD、还有超核Kinetis)
仔细去理解一下问题就解决了!
在51单片机编程的时候配置IO口为 P0=0XFF0=0X55;这是输出而输入就是直接读取uchar a;a=P0;在这里要注意51单片机不涉及输入输出方向控制寄存器!

而在XS128中就出现了方向控制寄存器,不要茫然正是XS128是16位单片机 固然要多一些寄存器和功能,比如输出 DDRB=0XFF; PORTB=0XFF; 而输入是DDRA=0X00;uchar a=PORTA

在K60中我们就没有直接去对寄存器进行操作,而是利用了一些编辑好的函数库进行操作,函数库中有一个叫gpio.c的文件其中就包含了IO口的控制输出输入函数:GPIO_Init(cs1,cs2,cs3,cs4);其中包含四个参数分别表示cs1:IO端口号(PTA PTB PTC PTD);cs2:引脚号 0-31;cs3:输入输出方向控制(0入1出);cs4:设置输入输出功能模式(上拉悬空 下拉);GPIO_SetBit(PTA,1,GPIO_HIGH)-PTA1口输出高电平;GPIO_ReadPort(PTA)一个PORTA口上所有电平状态返回32位数据;具体其他操作类似。

再编程时一定要注意K60是32位单片机,数据不要溢出,寄存器比较多相对51,16位单片机来说,直接修改研究寄存器比较费时费力,但利用库函数的缺点是,有时会出现多余重复代码,是的程序实际运行起来繁琐,如要优化代码,需从基础的寄存器入手编写适合自己的函数库!

梁国俭 发表于 2014-9-29 17:39:10

使用别人做好的库挺方便的

zndz410 发表于 2014-9-29 17:45:09

现在多数人用库更方便些。

johncoop 发表于 2014-9-29 17:51:56

果断用库啊

hemingjing 发表于 2014-9-29 18:02:21

用库文件开发起来就比较方便了。底层都写好了。

hover_007 发表于 2014-9-29 18:16:38

使用别人做好的库挺方便

zhaotyue 发表于 2014-9-29 19:21:08

用库开发,但必须了解库。

himd 发表于 2014-9-29 19:39:22

期待官方库普及

步之道 发表于 2014-9-29 23:06:21

当初第一家公司的时候用STM8的库开发的,然后发现以后用库溜的一比,发现基本上对着编程手册就能把基本外设都搞起来了,库是趋势。

FSL_TICS_ZP 发表于 2014-9-30 09:13:12

谢谢楼主的经验分享,发自肺腑啊!

wjjsl 发表于 2014-9-30 09:20:04

楼主建议不错,不过现在直接用库的太方便了

tim 发表于 2014-9-30 09:23:55

IO的方向控制寄存器,AVR就有了,许多改良51也有的

千年明月 发表于 2014-10-1 10:24:26

谢谢分享,支持一下

wangxb330226 发表于 2014-10-1 10:37:53

正在学STM8,和楼主提到的差不多

hemingjing 发表于 2014-10-1 10:42:12

没玩过飞思卡尔

MiHu 发表于 2014-10-1 11:04:48

用过K60 野火库。但是只是会调用了,至于怎么实现的不知道,感觉自己学的很肤浅。

boji 发表于 2014-10-1 12:10:23

谢谢分享

千年明月 发表于 2014-10-1 15:18:50

谢谢提醒

xjmlfm1 发表于 2014-10-1 15:53:12

STM32的库是个好东西,开始以为效率低,比较抵触,但实际用了后才发现,非常方便,而且效率并不低,大部分都是宏,直接替换。

寻找钢叉的猹 发表于 2014-10-2 17:57:12

{:loveliness:}我在倒腾K60+MQX

MRRIGHT 发表于 2014-10-2 18:03:42

海八路哭啦

chengz 发表于 2014-10-2 18:08:13

还是多看看数据手册和应用指南,事半功倍

dzlt2012 发表于 2014-10-3 18:17:55

有时对库不熟悉,就只好对着手册自已编了。

JESTER9 发表于 2014-10-8 11:26:12

还是用库更方便些
页: [1]
查看完整版本: 给初学K60的童鞋几点建议(转)