Last active 5 hours ago

wschrab revised this gist 5 hours ago. Go to revision

1 file changed, 0 insertions, 0 deletions

bit_merge.cpp renamed to bit_merge.c

File renamed without changes

wschrab revised this gist 5 hours ago. Go to revision

1 file changed, 0 insertions, 0 deletions

RCsim.cpp renamed to RCsim.c

File renamed without changes

wschrab revised this gist 5 hours ago. Go to revision

2 files changed, 23 insertions

ME4231Lab2.c renamed to RCsim.cpp

File renamed without changes

bit_merge.cpp(file created)

@@ -0,0 +1,23 @@
1 + #include <stdio.h>
2 +
3 + int bit_merge(unsigned short lower, unsigned short upper);
4 +
5 + int main() {
6 + unsigned short hn1 = 0x1234;
7 + unsigned short hn2 = 0xabcd;
8 + int result;
9 +
10 + result = bit_merge(hn1, hn2);
11 +
12 + printf("\nmerging 0x%x and 0x%x results in 0x%x\n", hn1, hn2, result);
13 +
14 + return 0;
15 + }
16 +
17 +
18 + int bit_merge(unsigned short lower, unsigned short upper) {
19 +
20 + int merged = ((int)upper << 16) | lower;
21 +
22 + return merged;
23 + }

wschrab revised this gist 5 hours ago. Go to revision

1 file changed, 46 insertions

ME4231Lab2.c(file created)

@@ -0,0 +1,46 @@
1 + #include <stdio.h>
2 +
3 + #define Vin 0.5
4 + #define timeFinal 5.0
5 +
6 +
7 + void run_simulation(double R, double C, double stepsize, int testNum);
8 +
9 + int main() {
10 + run_simulation(10000, 0.0002, 0.1, 1);
11 +
12 + run_simulation(5000, 0.0001, 0.1, 2);
13 +
14 + run_simulation(10000, 0.0002, 0.5, 3);
15 +
16 + run_simulation(5000, 0.0001, 0.5, 4);
17 +
18 + return 0;
19 + }
20 +
21 + /*
22 + Function to simulate an RC circuit with voltage across C as output voltage
23 + Pass in resistance, capacitance, time step size, and test number
24 + */
25 + void run_simulation(double R, double C, double stepsize, int testNum) {
26 + double Vc = 0.0;
27 + double time = 0.0;
28 +
29 + double tau = R * C;
30 +
31 + printf("Test number %d: R=%.0f, C=%.0f, Step=.2f, Tau=%.2f \n", testNum, R, C, stepsize, tau);
32 +
33 + printf("Time (s) \t Voltage (V)\n");
34 +
35 + printf("%.2f \t\t %.5f\n", time, Vc);
36 +
37 + // loop until time = timeFinal
38 + while (time < timeFinal) {
39 + double newVc = Vc + (stepsize / tau) * (Vin - Vc);
40 + Vc = newVc;
41 + time += stepsize;
42 +
43 + printf("%.2f \t\t %.5f\n", time, Vc);
44 + }
45 + printf("\n");
46 + }
Newer Older