渡鸦MK60学习 【点亮一个LED】

目标:点亮E6位置的LED灯-将E6口置为低电平输出即可

实现方法:寄存器直接控制

在这里插入图片描述

一、准备工作

使用开发板为Kinetis K60-渡鸦系列开发板。
芯片为ARM-M4 内核的 MK60DN512ZVLQ10 芯片。
使用的开发工具为keil5,因此需要去官网下载相应的安装包。
在这里插入图片描述

1、新建工程,选择好相应的开发板
在这里插入图片描述
2、之后咱安装好了MK60的设备安装包之后,我们再keil的安装目录下去寻找相应的启动文件
E:\STM32keil5MDK\ARM\INC\Freescale\Kinetis(根据自己的安装目录寻找)

MK60D10.h
在这里插入图片描述
system_MK60D10.h在这里插入图片描述
E:\STM32keil5MDK\ARM\Startup\Freescale\Kinetis
startup_MK60D10.s在这里插入图片描述
system_MK60D10.c
在这里插入图片描述
3、将以上的文件添加入我们所新建的文件夹之中。
之后打开KEIL将我们的文件加入当前的Projet中。

在这里插入图片描述
4、为避免在使用的过程中堆栈的空间不足,我们需要将相应的堆栈空间进行增大,在startup中将相应的寄存器进行修改。
在这里插入图片描述

二、进行电灯操作总共要分为以下的4个配置步骤

1. 开启SIM开关-也就是开启我们所需要控制的端口的时钟
2. 选择Port口相应功能-由于引脚存在复用所以要对相应的引脚功能进行选择
3. GPIO配置-因为要点亮小灯所以使用GPIO功能进行信号的输出对小灯进行点亮。
4. 对GPIO进行位操作-将相应端口的相应位进行置0或者置1的操作。

三、正式开始点灯操作

芯片手册如何查找: 在我们下载好了相应的软件安装包之后我们便可以在book目录下找到我们所需要的芯片手册。
在这里插入图片描述
1、首先完成电灯的第一步,开启相关寄存器的时钟。
时钟相关的寄存器是在 SIM 位置 Chapter 12: System Integration Module (SIM)
而控制GPIO相关时钟的寄存器位于SIM->SCGC5位置
在这里插入图片描述
而在当前的寄存器想要对相应的Port口进行设置则要对当前寄存器的9-13位进行设置

在这里插入图片描述
而对于相应端口的控制需要将相应的位置0/1由于原理图中对LED的引脚挂在在PE6因此我们需要将PORTE端口位置1来使能时钟。
在这里插入图片描述
2、设置当前引脚的复用功能为GPIO
首先我们要在芯片手册中的==Chapter 11: Port control and interrupts (PORT)==找到我们需要设置的寄存器端口,为Pin Control Register n (PORTE_PCR6)在这里插入图片描述3、在当前的寄存器位中要将MUX这三位设置成所需要的功能在这里插入图片描述
由于使用的功能模式为GPIO因此只需要将MUX位设为001即可
在这里插入图片描述
4、之后需要找到GPIO相关功能的寄存器
Port Data Output Register (GPIOE_PDOR) - 端口数据输出寄存器(GPIOE_PDOR)
Port Data Direction Register (GPIOE_PDDR) - 端口数据方向寄存器(GPIOE_PDDR)
对端口的方向和电平进行设置。
在这里插入图片描述
我们这里需要将端口设置为输出低电平,因此只需要将相应的位设置即可。

完整参考代码

#include "stdio.h"
#include <MK60D10.h>
int main(void)
{
        //将第13位置1  |上0x2000u (开启PORTE的时钟)
        SIM->SCGC5 |= SIM_SCGC5_PORTE_MASK;     //将第13位置1  |上0x2000u 
        //将MUX8~10位清空后再置为001(设置端口为GPIO模式)
        PORTE->PCR[6] &=~PORT_PCR_MUX_MASK;     //将相应的MUX位置0
        PORTE->PCR[6] |= (1<<8);                //将第8位置1 MUX=001
        PTE->PDDR|=(1<<6);                      //设置PORTE中6号端口的模式为输出模式
        PTE->PDOR&=~(1<<6);                     //设置PORTE中第6号端口为低电平
}

效果图T4点亮

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值