K60学习02

这个是补上昨天的,另外下午还要再学习一节

原理图

LED灯与外部引脚的连接情况

D1-E6-9

D2-E7-10

D3-E11-14

D4-E12-15

低电平有效时灯亮

SIM模块

功能:管理所有外设的时钟开关

12.2.12 SIM_SCGC5

地址0x4004_8038

第9-13位控制PORTA-E的时钟开关

PORT模块

功能:管理引脚的复用

11.5.1 PORTx_PCRn

地址

8-10位控制引脚的复用功能

GPIO模块 

55.2.1 Port Data Output Register (GPIOx_PDOR)

当引脚复用为GPIO的时候

0-低电平输出

1-高电平输出

55.2.2 Port Set Output Register (GPIOx_PSOR)

写0的时候没有意义,但是写1的时候,相应的位会被置1

55.2.3 Port Clear Output Register (GPIOx_PCOR)

写0的时候没有意义,但是写1的时候,相应的位会被置0

55.2.4 Port Toggle Output Register (GPIOx_PTOR)

写0的时候没有意义,但是写1的时候,相应的位会反转逻辑

55.2.5 Port Data Input Register (GPIOx_PDIR)

读取外部的电平

0-外部的低电平

1-外部的高电平

55.2.6 Port Data Direction Register (GPIOx_PDDR)

GPIO的方向设置

0-输入功能

1-输出功能

目标:点亮第一个小灯D1

代码的流程

配置SIM模块,打开PORTE开关

配置PORT的功能,MUX(1)

GPIO配置为输出模式,选中第六位,置1

输出逻辑0,即低电平,置0

工程配置

建立工程的时候在Device中选择芯片型号

Debug中选择在线调试,选择J_link,在右边的setting中选择协议为sw

Utilities->setting->选择Reset and Run

代码

#include"MK60D10.h"

int main()

{

SIM->SCGC5 |= SIM_SCGC5_PORTE_MASK;

`在配置GPIO的复用的时候,最好先将对应位清零,之后再去设置-`

PORTE->PCR[6] &= ~PORT_PCR_MUX_MASK;

PORTE->PCR[6] |= PORT_PCR_MUX(1);

PTE->PDDR |= (1<<6);

PTE->PDOR &= ~(1<<6);

}

你可能感兴趣的:(K60学习02)