【背景】参与论坛的 《飞思卡尔KL25开源项目》
有幸参与了论坛的飞思卡尔KL25开源活动,
http://www.amobbs.com/thread-5610374-1-1.html 开始真正接触到飞思卡尔的芯片。
下边这是苏州大学的板子,相信好些参与活动的人都有。
174053a911xcv9xf1ammfx.jpg.thumb.jpg (197.88 KB, 下载次数: 0)
下载附件
2015-3-1 17:13 上传
以前上家公司也用过飞思卡尔的芯片 MC90S 系列的,当时的印象是一个字贵,两个字高大,三个字就是高大上了,呵呵。当时看了下该芯片的环境是专用的,仿真器也是专用的。在AVR盛行的时候,个人感觉个人玩的话玩不起来。
刚好有这次征文活动,把我接触到飞思卡尔芯片以来,以一个飞思卡尔新手来说说芯片的使用感觉说一下,顺便说说我的入门经历和使用心得。
参加活动时候特意搜了下,基于MDK的环境的例程相对较少。心里有点悬。后来开发板收到了,看了下配套的书,大概翻了下基本资源的简介,心里有底了。
GPIO的配置,串口,SPI的配置,相对比较简单。跟STM32一大串关键字定义的库函数相比,可以理解为飞思卡尔的芯片的寄存器配置,就是稍微复杂的51单片机。
赶快到网上找例程,找DEMO程序。找到了一个点灯的。挡下来,看了下 MKL25Z4.h 的寄存器定义,关键字定义。对照书上发现不怎么对劲,举个例子 MDK例程 是 SIM->SCGC4 ,结果书上配套是 SIM_SCGC4。。。等等一些不太一样。
好在字符都是一样的。就是要动手修改。
慢慢的,熟悉了寄存器操作和 MKL25Z4.h 的定义 一切都变得简单了。
先写到这里,后边楼层会 谈谈,基于MDK的 飞思卡尔 KL25 的一些 模块的使用。
可能我的表达不是很清楚。给个完整的例子你就明白了。
void LCD_Gpio_Config(void)
{
SIM->SCGC5 |=(SIM_SCGC5_PORTA_MASK | SIM_SCGC5_PORTB_MASK | SIM_SCGC5_PORTC_MASK | SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTE_MASK ); //使能时钟A------E
//配置PD0---PD7 为普通IO;
PORTD->PCR[0] = PORT_PCR_MUX(1);
PORTD->PCR[1] = PORT_PCR_MUX(1);
PORTD->PCR[2] = PORT_PCR_MUX(1);
PORTD->PCR[3] = PORT_PCR_MUX(1);
PORTD->PCR[4] = PORT_PCR_MUX(1);
PORTD->PCR[5] = PORT_PCR_MUX(1);
PORTD->PCR[6] = PORT_PCR_MUX(1);
PORTD->PCR[7] = PORT_PCR_MUX(1);
//设置输出高电平
FPTD->PDOR = 0XFF;
//设置管脚为输出
FPTD->PDDR = 0XFF;
}
管脚初始化就好了。
下边是预定义
#define CSRC522L FPTD->PCOR |= 1UL << 0
#define CSRC522H FPTD->PSOR |= 1UL << 0
int main (void)
{
CSRC522L ;
.
.
.
CSRC522H ;
.
.
}
一周热门 更多>