Page 256 - ARM Based Microcontroller Projects Using MBED
P. 256

242                          8. INTERMEDIATE LEVEL PROJECTS

                       MyPC.printf("\n\r2. Generate Sawtooth Waveform");
                       MyPC.printf("\n\r3. Generate Triangular Waveform");
                       MyPC.printf("\n\r4. Generate Sine Waveform");
                       MyPC.printf("\n\r5. Generate Arbitrary Waveform");
                       MyPC.printf("\n\r");
                       MyPC.printf("Choice: ");
                       MyPC.scanf("%d", &choice);
                       MyPC.printf("\n\r");

                    //
                    // Action depending on the MENU choice. Case 1: Fixed voltage, Case:2
                    // Sawtooth waveform, Case 3: Triangular waveform, 4: Sine waveform,
                    // Case 5: Arbitrary waveform
                    //
                       switch (choice)
                       {
                             case 1:
                                     MyPC.printf("\n\r\n\rRequired Fixed Voltage (1 - 3.3V): ");
                                     MyPC.scanf("%f", &RequiredVoltage);
                                     MyPC.printf("\n\rGenerating %f Volt", RequiredVoltage);
                                     GenerateFixed(RequiredVoltage);
                                     break;
                             case 2:
                                     MyPC.printf("\n\r\n\rEnter No of Steps: ");
                                     MyPC.scanf("%d", &RequiredSteps);
                                     MyPC.printf("\n\rEnter Period (ms): ");
                                     MyPC.scanf("%f", &Period);
                                     MyPC.printf("\n\rEnter Amplitude (0 - 3.3V): ");
                                     MyPC.scanf("%f", &Amplitude);
                                     MyPC.printf("\n\rGenerating Sawtooth Waveform");
                                     GenerateSawtooth(Amplitude, RequiredSteps, Period);
                                     break;
                             case 3:
                                     MyPC.printf("\n\rEnter No of Steps: ");
                                     MyPC.scanf("%d", &RequiredSteps);
                                     MyPC.printf("\n\rEnter Period (ms): ");
                                     MyPC.scanf("%f", &Period);
                                     MyPC.printf("\n\rEnter Amplitude (0 - 3.3V): ");
                                     MyPC.scanf("%f", &Amplitude);
                                     MyPC.printf("\n\rGenerating Triangular Waveform");
                                     GenerateTriangular(Amplitude, RequiredSteps, Period);
                                     break;
                             case 4:
                                     MyPC.printf("\n\rEnter P-P Amplitude (1 - 3.3V): ");
                                     MyPC.scanf("%f", &Amplitude);
                                     MyPC.printf("\n\rEnter No of Steps: ");
                                     MyPC.scanf("%d", &RequiredSteps);
                                     MyPC.printf("\n\rEnter Period (ms): ");
                                     MyPC.scanf("%f", &Period);
                                     MyPC.printf("\n\rGenerating Sine Waveform");
                                     GenerateSine(Amplitude, RequiredSteps, Period);
                                     break;

                 FIG. 8.113, CONT’D
                                                                                          (Continued)
   251   252   253   254   255   256   257   258   259   260   261