基于推荐算法的网站开发,珠宝网站方案,中国建筑网官网平台,wordpress网易云课堂zynq——嵌入式学习笔记(GPIO之MIO控制LED) GPIO是一个外设#xff0c;用来对器件的引脚作观测#xff08;input#xff09;以及控制#xff08;output#xff0c;通过MIO模块#xff09;。 MIO(Multiuse I/O),将来自PS外设和静态存储器接口的访问多路复用到PS的引脚上。…zynq——嵌入式学习笔记(GPIO之MIO控制LED) GPIO是一个外设用来对器件的引脚作观测input以及控制output通过MIO模块。 MIO(Multiuse I/O),将来自PS外设和静态存储器接口的访问多路复用到PS的引脚上。 GPIO可以独立且动态地编程作为输入/输出以及中断模式 GPIO被分成了4个BankBank0/Bank1通过MIO连接到PS的引脚Bank2/Bank3通过EMIO连接到PL。 软件通过一组存储映射的寄存器来控制GPIO。 寄存器组 DATA_RO,用来反映器件引脚的状态 DATA在GPIO被配置成输出的时候该寄存器可以控制输出的数值。 MASK_DATA_LSW用于屏蔽DATA的低16位 MASK_DATA_MSW用于屏蔽DATA的高16位 DIRM用于控制I/O引脚是作为输入还是输出。0关闭输出驱动1:使能输出驱动 OEN当I/O被配置成输出时该寄存器用于打开/关闭输出使能。0关闭输出使能1:打开输出使能 DATA: 1010_ 0101_1010_0101_XXXX_XXXX_XXXX_XXXX 16个LED亮灭亮灭——灭亮灭亮——亮灭亮灭——灭亮灭亮 MASK_DATA_MSW(屏蔽高16位): 1111_ 0000_1111_1111 Data: 0000_ 1010_0000_0000 DATA 1010_ 1010_1010_0101_XXXX_XXXX_XXXX_XXXX 16个LED亮灭亮灭——亮灭亮灭——亮灭亮灭——灭亮灭亮
1先把DATA的值读出来 read
2改变需要更改的数值。 modify
3修改之后的数值写DATA里 write
MIO[8:7]在系统复位过程中作为VMODE引脚作为输入用于配置MIO Bank的电压复位结束后MIO[8:7]只能作为输出信号。
MIO控制led实验代码
#include stdio.h
#include xparameters.h
#include xgpiops.h
#include sleep.h#define GPIO_DEVICE_ID XPAR_XGPIOPS_0_DEVICE_ID
#define MIO0_LED 0XGpioPs_ConfigPtr * ConfigPtr;
XGpioPs Gpio;int main()
{printf(GPIO_TEST\n);//根据器件的ID查找器件的配置信息ConfigPtr XGpioPs-LookupConfig(GPIO_DEVICE_ID);//初始化GPIO驱动XGpioPs_CfgInitialize(Gpio,ConfigPtr,ConfigPtr-BaseAddr);//把GPIO的方向设置为输出(0输入1输出)XGpioPs_SetDirectionPin(Gpio,MIO0_LED,1);//设置输出使能(0关闭1打开)XGpioPs_SetOutputEnablePin(Gpio,MIO0_LED,1);//写数据到GPIO的输出引脚while(1){XGpioPs_WritePin(Gpio,MIO0_LED,0x1);usleep(1000000);XGpioPs_WritePin(Gpio,MIO0_LED,0x0);usleep(1000000);}return 0;
}