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)