K60 first GPIO
来源:互联网 发布:php程序员的发展方向 编辑:程序博客网 时间:2024/05/21 17:22
对于IT专业的学生来说,这是一个严肃的话题,但是我还是尽量用轻松的语气来表达。
// 配置 PTD8~PTD15 为GPIO功能,输出,高电平,禁用中断 gpio_init_struct.GPIO_PTx = PTA; //配置结构体的GPIO_PTx变量,选择使用PTD组的GPIO引脚。 gpio_init_struct.GPIO_Pins = GPIO_Pin19; //配置结构体的GPIO_Pins变量,选择使用编号为D8~D15的引脚。 gpio_init_struct.GPIO_Dir = DIR_INPUT; //配置结构体的GPIO_Dir变量,设置PTD的相关引脚方向为输出。 gpio_init_struct.GPIO_PinControl =INPUT_PULL_UP|IRQC_DIS; //配置结构体的GPIO_PinControl变量,配置端口的控制模式为禁止中断。 LPLD_GPIO_Init(gpio_init_struct); //调用GPIO初始化的库函数,并将初始化结构体变量传入其中,完成初始化。
gpio_init_struct.GPIO_PTx = PTA; gpio_init_struct.GPIO_Pins =GPIO_Pin10; gpio_init_struct.GPIO_Dir =DIR_OUTPUT; gpio_init_struct.GPIO_Output =OUTPUT_L; gpio_init_struct.GPIO_PinControl =IRQC_DIS; LPLD_GPIO_Init(gpio_init_struct);
//初始化 GPIO init_gpio();
while(1) {
if(PTA19_I==0) { while(PTA19_I==0) PTA10_O=0; } PTA10_O=1; }
然后我作死按下了switch5。。。。。。。。。。。。。天呐,居然就亮了
就是这样,再结合以前学过的东西,就可以做很多东西了,例如数码管,矩阵键盘,LCD1602,AT24C02~16,超声波测距,电机驱动。。。。。。。。不说了
我想说的就是
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
我终于看懂了拉普兰德的GPIO例程,并且自己能新建工程,写一个简单的按键控制LED亮的程序了。
一开始的点亮LED就不说了,直接上按键控制LED亮的了
主要还是感谢拉普兰德
首先去拉普兰德下载固件库和例程
固件库http://pan.baidu.com/s/1lkjdc 例程http://pan.baidu.com/s/14gXRK
里面有一个可以自己建立工程的程序,我感觉还是蛮方便的 K60快速建立工程_VG_1.0.2
建立工程后,在如图位置打开
就会看到一个main函数,里面有一个while(1)死循环,到这里大家一定很激动,因为和之前接触的C51,PIC都和类似了。
和C51,PIC这些相对低级的单片机比,K60的IO更复杂,不是简简单单的PA=1或TRISA1=0;RA=1;这样。它有更多的寄存器可以来配置引脚的功能。
一般要初始化IO引脚,(对于初始化IO,之前只学过51的可能会比较意外,我也意外过,学过PIC的会知道要初始化TRISx)。初始化步骤一般如下:
选择用ABCDE那个口x
选择要用到x的那些Pin
设置该Pin是输入还是输出
若为输出,设置初始值
配置控制寄存器,一般用来关闭中断或启用内部上拉
然后把配置好的值送去让固件库初始化去
我这里用PTA19检测键盘输入,PTA10控制LED是否亮
GPIO_init如下
void init_gpio()
{
// gpio_init_struct.GPIO_Output = OUTPUT_H; //配置结构体的GPIO_Output变量,设置PTD的相关引脚初始化输出为高电平。
}
对于主函数,除了对于名字不知道外,算法大家一定都知道的
void main (void)
{
}
然后配置options
在general options里选择自己的芯片,还有什么什么的。。。。不一定,到时候自己查一下,马上就能解决的。
然后就是download and debug,点击go运行,开发板上就开始运行你的程序了。
我的结果就是这样的
开始运行程序,但什么动作都没有
然后我作死按下了switch5。。。。。。。。。。。。。天呐,居然就亮了
1
DDRA0 = 1; //设置PortA0口为输出2
DDRC19 = 0; //设置PortC19口为输入3
4
PTA0_O = 1; //设置PortA0输出高电平5
PTA1_O = 0; //设置PortA1输出低电平6
7
uint8 data;8
data = PTA0_I; //读取PortA0口的电平
就是这样,再结合以前学过的东西,就可以做很多东西了,例如数码管,矩阵键盘,LCD1602,AT24C02~16,超声波测距,电机驱动。。。。。。。。不说了
加纳
阅读全文
0 0
- K60 first GPIO
- K60 GPIO外部中断
- K60 ADC
- K60 PIT定时器
- #山外K60函数 FTM_PWM_…
- (Kinetis K60)WDOG看门狗测试
- Contiki 3.0: GPIO操作
- 飞思卡尔K60 FTM模块详…
- 飞思卡尔K60 FTM模块详…
- 飞思卡尔Kinetis 60(K60)时钟…
- Create Your First&nbsp…
- For the first time in forever
- stm32 GPIO复用功能AFIO介绍
-  
-
- The First Few&nb…
- hdoj acm 1008
- HDOJ 1984 Mispelling4
- bfs走迷宫宽度优先搜索
- dfs走迷宫_深度优先搜索
- NYOJ:14-会场安排问题
- 自动走迷宫_记录走的路径
- 腾讯2016研发工程师编程题
- K60 first GPIO
- 校招三期计划安排表
- K60 GPIO外部中断
- 面试题27:二叉搜索树与双向链表
- K60 ADC
- K60 PIT定时器
- 推荐两部rina的日剧(要喜欢看哦)
- 关于第一次在ARM处理器上搭载操作…
- Linux操作系统快速体验和常用指令…