Arduino and matlab problem with pacer

Hello every one
I want to read 8 digital inputs at the same time in Simulink but the Simulink did not read at the same time.
some years ago when I used the Arduino library in Simulink there was a block that name was "Real-Time Pacer", I think this block was solving this problem.
but now I could not find this block in the library of Arduino in simulink.

could you help me?

Your post was MOVED to its current location as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

What is "reading at the same time"?

A code could be like: int var1 = analogRead(aPin1); int var2 = analogRead(aPin2); int var3 = analogRead(aPin3);
Each reading takes some time.
Reading at exactly the same time calls for a lot of external electronics.

Thank you for answering
I will read by Simulink.
I am reading an absolute encoder. this absolute encoder has 10 outputs which I am reading through 10 inputs of Arduino in Simulink.
when I turn the encoder the outputs change. so if Simulink did not read all input at the same time the sum of the value of output will be rung for a short time and after it will be true. for example, assume now below output is on:
Pin0=0
Pin1=0
Pin2=0
Pin3=0
Pin4=0
Pin5=0
Pin6=0
Pin7=1
Pin8=0
Pin9=0

so the value of encoder is (01+02+04+08+016+032+064+1128+0256+0512) = 128
when i will turn absolute and assume next arrangemnet is as below:
Pin0=0
Pin1=0
Pin2=0
Pin3=0
Pin4=0
Pin5=0
Pin6=0
Pin7=0
Pin8=1
Pin9=0
now the value is 256

but because of not reading at the same time all input,
in a short time, Simulink read Pin7 = 1 and pin8 =1 so the output is 128+256=384 but after for example 0.1 sec the value goes to 256.

as I said before there was a block "Arduino pacer" and this block does this job. but now in the new version of the Arduino library, I don't find this block.

I think You've got it!
The only way to read "all inputs" at the very same time is reading an entire 8 bit port. 10 bits parallell reading, in an Arduino, looks impossible to me.
I don't know Simulink but it sounds like a simulator running on a Pc. What good is simulation if the microcontroller can't do the job fully?

I think I must in the microcontroller get all input and insert into a variable and then get variable value by Simulink. I don't know Simulink can do it or not.

but for me this is very interesting in old Arduino library for Simulink there was a block that name was pacer and this block did this job but know it is not in new library.

I just corrected the very last sentence in the previous reply!
It tells "can't do...".

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.