Forum Discussion
Altera_Forum
Honored Contributor
14 years agoPIO Direction
hi all, I am using bidirectional pio for my design.Can some one tell me how to set the directions. I am using IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 0); for using pio as output...
Altera_Forum
Honored Contributor
14 years agoHi,
Thank you for your reply. I am using 8 bit PIO for my design.I have set it as bidirectional in QSYS. What I understood from your post is,if I have to write 8 bits from the bus I have to write like this IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+2, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+4, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+6, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+8, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+10, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+12, 0); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+14, 0); IOWR_ALTERA_AVALON_PIO_DATA ( PIO_DATA_BASE , address ); and for reading IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+2, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+4, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+6, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+8, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+10, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+12, 1); IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE+14, 1); data = IORD_ALTERA_AVALON_PIO_DATA(PIO_DATA_BASE); am I correct?