Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

PIO Bitwise operation

Altera_Forum
Honored Contributor II
1,540 Views

Hallo, 

 

What is the best way to perform bit wise operation to clear or set specific bits on Nios II PIO port? 

 

An example 

 

CTRL_PORT = CTRL_PORT | (1 << CTRL_CS) | (1 << CTRL_RDE) | (1 << CTRL_WR); 

CTRL_PORT = CTRL_PORT & ~(1 << CTRL_ALE); 

 

 

Where 

# define CTRL_CS 0# define CTRL_RST 1# define CTRL_RDE 2# define CTRL_WR 3# define CTRL_ALE 4
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
377 Views

When you instantiate a PIO in Qsys, you can optionally enable the single bit clear/set feature. 

You can then use the IOWR_ALTERA_AVALON_PIO_SET_BITS / IOWR_ALTERA_AVALON_PIO_CLEAR_BITS macros. 

Enabling this option you spare the instructions required to read the actual pio status and masking the existing bits.
0 Kudos
Altera_Forum
Honored Contributor II
377 Views

Can you give me an example based on the code that I posted before?

0 Kudos
Altera_Forum
Honored Contributor II
377 Views

Find it thanks.

0 Kudos
Reply