BusIn HelloWorld

Fork of BusIn_HelloWorld by Mbed

Use

BusIn is an abstraction that takes any pins and makes them appear as though they are linearly memory mapped for ease of use. This abstraction is useful for checking multiple inputs in a single pass. In general this abstraction can be used to make code less cluttered, clearer, and take less time to write.

Note

Please pay attention to the ordering of pins in the initialization. The order pins are initialized in are the reverse order that bits are OR'd together.

API

API reference.

Import librarymbed

No documentation found.
Committer:
mbedAustin
Date:
Fri Mar 27 22:35:08 2015 +0000
Revision:
4:252fbf8e71db
Parent:
3:ac45ca465b45
Child:
5:81a0449aa2d5
updated example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedAustin 3:ac45ca465b45 1 /* mbed Example Program
mbedAustin 3:ac45ca465b45 2 * Copyright (c) 2006-2014 ARM Limited
mbedAustin 3:ac45ca465b45 3 *
mbedAustin 3:ac45ca465b45 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbedAustin 3:ac45ca465b45 5 * you may not use this file except in compliance with the License.
mbedAustin 3:ac45ca465b45 6 * You may obtain a copy of the License at
mbedAustin 3:ac45ca465b45 7 *
mbedAustin 3:ac45ca465b45 8 * http://www.apache.org/licenses/LICENSE-2.0
mbedAustin 3:ac45ca465b45 9 *
mbedAustin 3:ac45ca465b45 10 * Unless required by applicable law or agreed to in writing, software
mbedAustin 3:ac45ca465b45 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbedAustin 3:ac45ca465b45 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbedAustin 3:ac45ca465b45 13 * See the License for the specific language governing permissions and
mbedAustin 3:ac45ca465b45 14 * limitations under the License.
mbedAustin 3:ac45ca465b45 15 */
mbedAustin 3:ac45ca465b45 16
mbed_official 0:5e474ece410b 17 #include "mbed.h"
mbed_official 0:5e474ece410b 18
mbedAustin 4:252fbf8e71db 19 BusIn nibble(D0, D1, D2, D3); // change pins according to platform
mbed_official 0:5e474ece410b 20
mbed_official 0:5e474ece410b 21 int main() {
mbed_official 0:5e474ece410b 22 while(1) {
mbedAustin 4:252fbf8e71db 23 switch(nibble) { // read the bus
mbedAustin 4:252fbf8e71db 24 case 0x0: printf("0b0000, D3,D2,D1,D0 are off");break;
mbedAustin 4:252fbf8e71db 25 case 0x1: printf("0b0001, D0 is on") ;break;
mbedAustin 4:252fbf8e71db 26 case 0x2: printf("0b0010, D1 is on") ;break;
mbedAustin 4:252fbf8e71db 27 case 0x3: printf("0b0011, D1,D0 are on") ;break;
mbedAustin 4:252fbf8e71db 28 case 0x4: printf("0b0100, D2 is on") ;break;
mbedAustin 4:252fbf8e71db 29 // ...
mbedAustin 4:252fbf8e71db 30 case 0x8: printf("0b1000, D3 is on") ;break;
mbedAustin 4:252fbf8e71db 31 // ...
mbedAustin 4:252fbf8e71db 32 case 0xF: printf("0b1111, D3,D2,D1,D0 are on") ;break;
mbed_official 0:5e474ece410b 33 }
mbed_official 0:5e474ece410b 34 }
mbed_official 0:5e474ece410b 35 }