Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ExioController MCP23S17 mbed-rtos mbed
Diff: main.cpp
- Revision:
- 6:4f9d08f8dfcf
- Parent:
- 5:69ea7aa2a755
- Child:
- 7:6c63d0f70ebc
--- a/main.cpp Wed Nov 02 03:03:47 2016 +0000
+++ b/main.cpp Wed Nov 02 04:17:04 2016 +0000
@@ -3,6 +3,7 @@
#include "ExioMcp23s17.h"
#include "ExioMcp23s17DigitalIn.h"
#include "ExioMcp23s17PinDetect.h"
+#include "ExioMcp23s17RotaryEncoder.h"
SPI Spi(PC_12, PC_11, PC_10); // SPI3: mosi, miso, sclk
//SPI Spi(PA_7, PA_6, PA_5); // SPI1: mosi, miso, sclk
@@ -96,6 +97,7 @@
}
*/
+/*
// トグル動作
bool pb0state = false;
void pb0Falled() {
@@ -136,6 +138,8 @@
void pb7Falled() {
Exio.writePort(ExioPortA, (1 << 7));
}
+*/
+
/*
void ExioMcp23s17PinDetectTest()
{
@@ -202,6 +206,7 @@
}
*/
+/*
void ExioMcp23s17PinDetectPullModeTest()
{
printf("\r\n\n*** ExioMcp23s17PinDetect PullMode test ***\r\n");
@@ -272,11 +277,44 @@
while (true) {
}
}
+*/
+
+void ExioMcp23s17RotaryEncoderTest()
+{
+ printf("\r\n\n*** ExioMcp23s17RotaryEncoder test ***\r\n");
+
+ Exio.reset();
+
+ // set PORTA as output
+ Exio.ioDirection(ExioPortA, 0x00);
+
+ // set PORTB[0..1] as RotaryEncoder
+ ExioMcp23s17DigitalIn inB0(Exio, ExioPortB, 0);
+ ExioMcp23s17DigitalIn inB1(Exio, ExioPortB, 1);
+
+ //RotaryEncoder::RotaryEncoder(ExioMcp23s17DigitalIn& _pin1, ExioMcp23s17DigitalIn& _pin2, int min, int max, int val)
+ ExioMcp23s17RotaryEncoder RotEnc1(inB0, inB1, 0, 100);
+
+ // LED Check (PortA)
+ for (int i = 0; i < 8; i++) {
+ Exio.writePort(ExioPortA, 1 << i);
+ wait(0.1);
+ }
+ Exio.writePort(ExioPortA, 0x00);
+
+ while (true) {
+ int data = RotEnc1.getVal();
+ //Exio.writePort(ExioPortA, data);
+ printf("%d\r\n", data);
+ Thread::wait(100);
+ }
+}
int main()
{
//ExioMcp23s17Test();
//ExioMcp23s17DigitalInTest();
//ExioMcp23s17PinDetectTest();
- ExioMcp23s17PinDetectPullModeTest();
+ //ExioMcp23s17PinDetectPullModeTest();
+ ExioMcp23s17RotaryEncoderTest();
}