图片alt

图片alt

main(){
	//启用时钟模块
	SIM_SCG5 = SIM_SCGC5 | (1<<12);
	//指定用作GPIO
	PORTD_PCR0 = 0X0100;
	...
	PORTD_PCR7 = 0X0100;
	//设置GPIO为输出
	GPIOD_PDDR = 0xFF;
	//最低的8个bit为0,八盏灯为亮
	GPIOD_PDOR = 0x00;
}

启用时钟模块

SIM(系统集成模块) enable correspond GPIO port clock

图片alt

图片alt

将12位设置为1,开启时钟

图片alt

图片alt

SIM_SCG5 = SIM_SCGC5 | (1<<12);

配置引脚功能为GPIO

set GPIO PCR enable correspond port function as GPIO

每一个物理上存在的引脚,都有自己独立的寄存器来配置它的功能。

图片alt

图片alt

灰色的是忽略保留的bit,白色是对功能进行配置。MUX是000~111有8个选择,对应的是引脚的8个功能。

图片alt

图片alt

引脚的ALT1~ATL7共8个功能。

图片alt

图片alt

	PORTD_PCR0 = 0X0100;
	...
	PORTD_PCR7 = 0X0100;

选用引脚的第一个功能。

对GPIO模块的寄存器进行编程

GPIO PDDR set GPIO as output, PDOR output 0 and 1'

每一个io时由若干个寄存器控制的

这些寄存器编成了很多组

图片alt

图片alt

图片alt

图片alt


图片alt

图片alt

	//设置GPIO为输出
	GPIOD_PDDR = 0xFF;
	//最低的8个bit为0,八盏灯为亮
	GPIOD_PDOR = 0x00;