suraya suriani / Mbed 2 deprecated UTHM_TOT_DayLast

Dependencies:   C12832 mbed-rtos mbed

Fork of UTHM_TOT_MiniProject by Mohamad Fauzi Zakaria

Committer:
nsuraya
Date:
Wed Aug 17 08:42:11 2016 +0000
Revision:
1:33b6bf21fbd4
Parent:
0:004b3a49f410
tot_uthm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfauzi 0:004b3a49f410 1 #include "mbed.h"
mfauzi 0:004b3a49f410 2 #include "rtos.h"
mfauzi 0:004b3a49f410 3 #include "C12832.h"
mfauzi 0:004b3a49f410 4
nsuraya 1:33b6bf21fbd4 5 AnalogIn port1(p19);
nsuraya 1:33b6bf21fbd4 6 Serial pc(USBTX, USBRX);
nsuraya 1:33b6bf21fbd4 7 C12832 lcd(p5, p7, p6, p8, p11);
nsuraya 1:33b6bf21fbd4 8 AnalogIn port2(p20);
nsuraya 1:33b6bf21fbd4 9 DigitalOut myled[] = {LED1,LED2,LED3,LED4};
nsuraya 1:33b6bf21fbd4 10
nsuraya 1:33b6bf21fbd4 11
nsuraya 1:33b6bf21fbd4 12
nsuraya 1:33b6bf21fbd4 13 int i, x = 1;
mfauzi 0:004b3a49f410 14
nsuraya 1:33b6bf21fbd4 15 void knight_rider(void const *args) {
nsuraya 1:33b6bf21fbd4 16 while (true) {
nsuraya 1:33b6bf21fbd4 17
nsuraya 1:33b6bf21fbd4 18 for(i=0; i<4; i++) {
nsuraya 1:33b6bf21fbd4 19 myled [i]=1;
mfauzi 0:004b3a49f410 20 Thread::wait(100);
nsuraya 1:33b6bf21fbd4 21 myled [i]=0;
mfauzi 0:004b3a49f410 22 }
mfauzi 0:004b3a49f410 23
nsuraya 1:33b6bf21fbd4 24 for(i=2; i>0; i--) {
nsuraya 1:33b6bf21fbd4 25 myled [i] = 1;
nsuraya 1:33b6bf21fbd4 26 Thread::wait(100);
nsuraya 1:33b6bf21fbd4 27 myled [i]=0;
nsuraya 1:33b6bf21fbd4 28
nsuraya 1:33b6bf21fbd4 29 }
nsuraya 1:33b6bf21fbd4 30
mfauzi 0:004b3a49f410 31 }
mfauzi 0:004b3a49f410 32 }
mfauzi 0:004b3a49f410 33
mfauzi 0:004b3a49f410 34
nsuraya 1:33b6bf21fbd4 35 void ADC_pc(void const *args) {
nsuraya 1:33b6bf21fbd4 36
nsuraya 1:33b6bf21fbd4 37 int j=0;
nsuraya 1:33b6bf21fbd4 38
nsuraya 1:33b6bf21fbd4 39 printf("ADC with Interupt");
nsuraya 1:33b6bf21fbd4 40
nsuraya 1:33b6bf21fbd4 41 while(true) { // this is the third thread
nsuraya 1:33b6bf21fbd4 42
nsuraya 1:33b6bf21fbd4 43 printf("Voltage : %3.3f V",port1.read()*3.3);
nsuraya 1:33b6bf21fbd4 44 j++;
nsuraya 1:33b6bf21fbd4 45 Thread::wait(100);
nsuraya 1:33b6bf21fbd4 46
mfauzi 0:004b3a49f410 47 }
mfauzi 0:004b3a49f410 48 }
mfauzi 0:004b3a49f410 49
nsuraya 1:33b6bf21fbd4 50 void ADC_lcd(void const *args) {
nsuraya 1:33b6bf21fbd4 51
mfauzi 0:004b3a49f410 52
nsuraya 1:33b6bf21fbd4 53 int j=0; //local variable
nsuraya 1:33b6bf21fbd4 54 lcd.cls(); //clear screen
nsuraya 1:33b6bf21fbd4 55 lcd.locate(0,3); //point cursor
nsuraya 1:33b6bf21fbd4 56 lcd.printf("Voltage Measurement");
nsuraya 1:33b6bf21fbd4 57
nsuraya 1:33b6bf21fbd4 58 while(true) { // this is the third thread
nsuraya 1:33b6bf21fbd4 59 lcd.locate(0,20);
nsuraya 1:33b6bf21fbd4 60 lcd.printf("Voltage : %3.3f V",port2.read()*3.3);
nsuraya 1:33b6bf21fbd4 61 j++;
nsuraya 1:33b6bf21fbd4 62 Thread::wait(1000);
nsuraya 1:33b6bf21fbd4 63
mfauzi 0:004b3a49f410 64 }
mfauzi 0:004b3a49f410 65 }
nsuraya 1:33b6bf21fbd4 66
mfauzi 0:004b3a49f410 67 int main() {
nsuraya 1:33b6bf21fbd4 68 Thread tread1(knight_rider);
nsuraya 1:33b6bf21fbd4 69 Thread tread2(ADC_pc);
nsuraya 1:33b6bf21fbd4 70 Thread tread3(ADC_lcd);
mfauzi 0:004b3a49f410 71
nsuraya 1:33b6bf21fbd4 72 while (true) ;
mfauzi 0:004b3a49f410 73 }