Lab 6 code.
Dependencies: mbed
Fork of WaG by
Diff: main.cpp
- Revision:
- 4:0ed77d8b3e42
- Parent:
- 3:293ff9cb705d
- Child:
- 6:749a691e2abf
--- a/main.cpp Wed Feb 21 19:03:43 2018 +0000 +++ b/main.cpp Wed Feb 21 19:47:38 2018 +0000 @@ -21,7 +21,9 @@ Serial pc(USBTX, USBRX); bool num_range(char input[5]); +int convert(int dec); char to_command(char input, int place); +int bcd[4]; int main(void) { SS = 1; @@ -111,8 +113,8 @@ bool num_range(char input[5]) { bool result = true; - for (int i = 1; i < 6; i++) { - if (i > 4) + for (int i = 0; i < 5; i++) { + if (i > 3) if (input[i] != 0) //checks for number larger than 9999 result = false; if (input[i] < 48 or input[i] > 57) //checks for digits outside 0-9 @@ -121,25 +123,30 @@ return result; } -int mod_bcd(int num) { - int bcd_arr[4]; - int place = 4; - int bcd = 0; - int mult = 1; - while (num != 0) { +void mod_bcd(int num) { + int size = 4; + int dec_arr[size]; + int place = 0; + while (num != 0) { //converts decimal input to decimal array using %mod int val = num % 10; - bcd_arr[place] = val; + dec_arr[place] = val; num = num/10; + place++; } - for (int i = 1; i < 5; i++) { - bcd = bcd + bcd_arr[i]*mult; - mult = mult * 10; + for (int i = 0; i < size; i++) { //converts decimal array to binary array + bcd[i] = convert(dec_arr[i]); } - return bcd; } char to_command(char input, int place) { } + +int convert(int dec) {//convert decimal to binary + if (dec == 0) //function complete + return 0; + else //recursive call until converted + return (dec % 2 + 10 * convert(dec / 2)); +} \ No newline at end of file