我的问题是,这个函数XGpio_SetDataDirection是做什么的,例如XGpio_SetDataDirection(& gp_out,1,0x00)?
答案 0 :(得分:1)
您可以直接从设计中找到/生成Microblaze驱动程序的API文档。例如。在Xilinx Platform Studio中右键单击Microblaze核心应该为您带来菜单项Driver / View API Documentation。从那里你可以导航到xgpio
驱动程序,XGpio_SetDataDirection
你应该看到这样的东西:
void XGpio_SetDataDirection (XGpio * InstancePtr, unsigned Channel, u32 DirectionMask )
设置指定GPIO通道的所有离散信号的输入/输出方向。
参数:
InstancePtr
是指向要处理的XGpio实例的指针。Channel
包含要操作的GPIO(1或2)的通道。DirectionMask
是一个位掩码,指定输入哪些离散量以及输出哪些离散量。输出设置为0的位并输入设置为1的位。返回: 无。
注意: 如果此功能与1以外的任何通道一起使用,则必须为双通道构建硬件。如果不是,则此功能将断言。
因此,在您的情况下,XGpio_SetDataDirection (&gp_out, 1, 0x00)
会将GPIO端口(带有您的LED)设置为Microblaze CPU内核的输出。