我有以下几行代码:
u8 SW = Xil_In8(XPAR_AXI_GPIO_0_BASEADDR);Xil_Out32(XPAR_AXI4STREAM_TPG_0_S00_AXI_BASEADDR,0x00000020 + SW);我在这里做的是从地址上读…
u8 SW = Xil_In8(XPAR_AXI_GPIO_0_BASEADDR); u8 last_4_bits = SW & 0xf //gets you the last 4 bits Xil_Out32(XPAR_AXI4STREAM_TPG_0_S00_AXI_BASEADDR, 0x00000020 | last_4_bits); //OR'ing sets those 4 bits
您可以在一行中完成。
Xil_Out32(XPAR_AXI4STREAM_TPG_0_S00_AXI_BASEADDR, 0x00000020 | (SW & 0xf));
我将把它留给你作为练习来理解按位数学运算。如果你在一张纸上写下这些位并进行数学运算会更容易。如果你是新手,不要在头脑中做。