digital Write on Ports | Arduino Compatible Compiler for LabVIEW Discussions | Forum

Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 4 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
digital Write on Ports
May 9, 2016
12:01 pm
Avatar
viwoi
Member
Forum Posts: 16
Member Since:
March 19, 2015
sp_UserOfflineSmall Offline

Hello,

 

ist it possible to write the ports "K" or "F" on Arduino Mega (using analog ports for digital output)?

here is an example of source code:

void setup() {
for (int i= 1; i<100; i++)
{
pinMode(i, OUTPUT);
}
DDRF = B00000000;
}

void loop() {
PORTF = B11111111;
delay(1000); // wait for a second
PORTF= B00000000;
delay(1000); // wait for a second
}

 

Greetings, Vitali

May 9, 2016
8:18 pm
Avatar
Steffan
Admin
Forum Posts: 305
Member Since:
March 12, 2015
sp_UserOfflineSmall Offline

You should be able to using Digital Write Port.vi.  Take a look at the documentation.  You only need to specify the start pin and the all bits in the corresponding port will be updated with the given value.  Make sure to set all pins as an output first.  You can also refer here for the mapping of pins to ports on the Mega.  I think you are interested in pins 82-97.

May 10, 2016
6:52 am
Avatar
viwoi
Member
Forum Posts: 16
Member Since:
March 19, 2015
sp_UserOfflineSmall Offline

Hello Stefan,

 

the pin-number, that has to be set in the digitalWritePort.vi, seems to correspond to the mapped digital pin (e.g. portA is switched by the start pin "22", not "78"). An analog pin doesn't have an digital port mapping.

Setting of pins 82-89 for analog port using doesn't work.

May 10, 2016
2:19 pm
Avatar
Steffan
Admin
Forum Posts: 305
Member Since:
March 12, 2015
sp_UserOfflineSmall Offline

Take a look at digital_pin_to_port_PGM[] in \Arduino\hardware\arduino\avr\variants\mega\pins_arduino.h.  This defines the mapping of pin number to physical port for the Mega.  It appears Port F starts at pin 54 and Port K starts at pin 62.  You actually want to use the Mapped Pin Name in the link above in which the digital version of the analog pins start their numbering after the last digital pin in the list (53) but its not explicitly listed there so you have to go to the header file.

May 10, 2016
2:43 pm
Avatar
viwoi
Member
Forum Posts: 16
Member Since:
March 19, 2015
sp_UserOfflineSmall Offline

Great! it works!

 

unfortunatelly I made meanwhile a workaround with user-code-implementation (created some functions & VIs for port setting).

It took some time, but on the other hand, I could practise in creating user codes :)

December 25, 2017
5:47 am
Avatar
NealXu
New Member
Forum Posts: 1
Member Since:
December 25, 2017
sp_UserOfflineSmall Offline

Hi...i am a new user here. As per my knowledge you should specify the start pin and the all bits in the corresponding port will be updated with the given value.  Make sure to set all pins as an output first.  You can also refer manual for the mapping of pins to ports on the Mega.

Forum Timezone: UTC 0

Most Users Ever Online: 33

Currently Online:
1 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

John: 18

RTSLVU: 15

Dan6077: 11

Member Stats:

Guest Posters: 0

Members: 80

Moderators: 0

Admins: 3

Forum Stats:

Groups: 1

Forums: 2

Topics: 58

Posts: 289

Newest Members: Travlissah, viktorIcera, HowardClouG, Dianecet, Produktnaodchudzaniex

Administrators: geadmin: 5, filipealtoe: 35, Steffan: 89