先来建立一个工程模板,,,要比32简单的多,假设32是用库开发的话,,,,因为还要把那些和库相关的文件加到工程里....
LPC呢就只需要把设置系统和总线的时钟文件(system_LPC177x_8x);堆栈初始化,中断向量和中断函数定义的启动文件(startup_LPC177x_8x);内存操作,用结构体封装起来的文件(LPC177x_8x.h),这样的话修改结构体里面的成员变量的值就是操作对应寄存器的值了,如果不用结构体封装,寄存器那么多,天哪!,那要定义多少变量.....和ARM公司提供的进入M3内核接口的文件(core_cm3)加到工程里就完啦!
对了STM32F103的和LPC1778用的都是Cortex-M3内核所以呢内核文件(core_cm3)是一样的.....
就新建个文件夹然后..
忘啦还要加一个
好现在就去找一找
这四种文件
这里面找了一下竟然没找到core_cm3.c,虽然有core_cm3.h但是还是别用这个了,不知道是不是被我删除了,,,算啦不在这里面找啦,我就直接把STM32库里面的复制粘贴过来吧
现在新建一个主函数文件,然后保存
现在设置下那些乱七八糟文件的输出路径
现在编译一下
还要设置一下咱们的.h文件的路径,,,后期自己会添加自己的.c和.h,,,,不告诉软件路径,,他找不到,,..
现在控制一个引脚输出高低电平
先看一个寄存器
我现在呢!只想点亮一个灯....所以嘛
LPC_IOCON->P1_14 = 0x00;//我的P1的14引脚控制一个灯,,最普通的引脚模式
接着就是输出方向
LPC_GPIO1->DIR |= (1 << 14);//这个32位的寄存器每一位控制一个引脚写1输出,写0输入,为了不影响其它引脚就 |=
如果是输入 就LPC_GPIO1->DIR &= ~(1 << 14);
接着就是输出高低电平了
LPC_GPIO1->SET |= (1 << 14);//这个32位的寄存器每一位控制一个引脚写1输出高,写0无效,为了不影响其它引脚就 |=
输出低电平
LPC_GPIO1->CLR |= (1 << 14);//这个32位的寄存器每一位控制一个引脚写1输出低,写0无效,为了不影响其它引脚就 |=
其实呢!操作GPIO的还有直接操作16位的,8位的.....
就仿真一下
然后再看一下IAR怎么建立工程
官方提供了
下面会有许多错误,,,,
选择芯片
再编译一下
这个警告
解决方案
http://blog.sina.com.cn/s/blog_8806edc50102vbvc.html
说一个地方
如果用J-LINK下载程序
其余的.......
牛刀小试....
程序和资料
链接:http://pan.baidu.com/s/1b7Nkr8 密码:n5zn