SPI mode and bitrate cannot be changed in Arduino DUE
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Massoud Tohidian
am 6 Aug. 2019
Kommentiert: Massoud Tohidian
am 13 Aug. 2019
I'm using MATLAB R2016a with Arduino DUE. When a SPI device object is created using spidev, it cannot correctly change SPI mode and bitrate. Mode is alway 0 and bitrate is always 4Mbps. I have tried this also with R2019a and it is the same.
For example, I try to use this command to change Mode to 3 and bitrate to 1Mbps:
spidev(a,'D10','Mode',3,'Bitrate',1000000);
But it does not change anything there.
Is there a bug there? How can it be fixed?
Thanks in advance.
1 Kommentar
Andrey Kiselnikov
am 6 Aug. 2019
Before using the interfaces you should create the system object that will control the board. Can you attach your script here?
Akzeptierte Antwort
Andrey Kiselnikov
am 6 Aug. 2019
Right now I have no Arduino Due, but I can check your script next week. If it will be actual, let me know please.
3 Kommentare
Andrey Kiselnikov
am 12 Aug. 2019
Hi, I remember what i promised!
>> a = arduino()
a =
arduino with properties:
Port: 'COM6'
Board: 'Due'
AvailablePins: {'D2-D53', 'A0-A11'}
AvailableDigitalPins: {'D2-D53', 'A0-A11'}
AvailablePWMPins: {'D2-D13'}
AvailableAnalogPins: {'A0-A11'}
AvailableI2CBusIDs: [0, 1]
Libraries: {'SPI'}
>> dev = spidev(a,'D10','Mode',3,'Bitrate',1000000)
Warning: Function spidev will be removed. Use device instead.Click here to turn off this warning.
dev =
spidev with properties:
ChipSelectPin: D10
Pins: SPI-4(MOSI), SPI-1(MISO), SPI-3(SCK)
Mode: 3 (0, 1, 2 or 3)
BitOrder: msbfirst ('msbfirst' or 'lsbfirst')
BitRate: 1000000 (Hz)
And...... I'll create an "issue" in MW inner support service to research this bug and properly describe all limitations. If it was useful for you, mark the answer as accepted.
Weitere Antworten (1)
Massoud Tohidian
am 6 Aug. 2019
Bearbeitet: Massoud Tohidian
am 6 Aug. 2019
2 Kommentare
Andrey Kiselnikov
am 13 Aug. 2019
"The 'spidev' function is being replaced by the 'device' function, which may perform better in this situation. " Hi, can you try this way?
Siehe auch
Kategorien
Mehr zu MATLAB Support Package for Arduino Hardware finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!