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.
Revision 0:954607bc2d95, committed 2011-08-02
- Comitter:
- James1208
- Date:
- Tue Aug 02 10:28:54 2011 +0000
- Commit message:
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Aug 02 10:28:54 2011 +0000
@@ -0,0 +1,60 @@
+#include "mbed.h"
+
+DigitalIn enc_pb (p5);
+InterruptIn enc_A (p6);
+InterruptIn enc_B (p7);
+PwmOut led1 (p22);
+PwmOut led2 (p23);
+
+void enc_int_routine (void);
+
+bool enc_A_state;
+bool enc_B_state;
+bool old_enc_A_state;
+bool old_enc_B_state;
+int val_min = 0;
+int val_max = 100;
+int val = ((val_max - val_min) / 2) + val_min;
+int val_old = val;
+
+int main() {
+ enc_pb.mode(PullUp);
+ enc_A.mode(PullUp);
+ enc_B.mode(PullUp);
+ enc_A_state = enc_A;
+ enc_B_state = enc_B;
+ enc_A.rise(&enc_int_routine);
+ enc_B.rise(&enc_int_routine);
+ enc_A.fall(&enc_int_routine);
+ enc_B.fall(&enc_int_routine);
+ while (1) {
+ if (val != val_old) {
+ printf("\n\r%i",val);
+ } // if (val != val_old)
+ val_old = val;
+ if (enc_pb) {
+ led1 = val / 100.0;
+ led2 = 1.0 - (val / 100.0);
+ } else {
+ printf("button\n\r");
+ led1 = 0;
+ led2 = 0;
+ } // if (enc_pb)
+ } // while(1)
+} // end main
+
+void enc_int_routine (void) {
+ old_enc_A_state = enc_A_state;
+ old_enc_B_state = enc_B_state;
+ enc_A_state = enc_A;
+ enc_B_state = enc_B;
+ if (((enc_A_state != old_enc_A_state) && (enc_B_state != old_enc_B_state)) || ((enc_A_state == old_enc_A_state) && (enc_B_state == old_enc_B_state))) {
+ val = val;
+ } else {
+ if (enc_A_state ^ old_enc_B_state) {
+ val -= 1;
+ } else {
+ val += 1;
+ } // (enc_A_state ^ old_enc_B_state)
+ } // if ((enc_A_state != old_enc_A_state) && (enc_B_state != old_enc_B_state))
+} // end enc_A_int_routine
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Aug 02 10:28:54 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912