Hardware Reference
In-Depth Information
83 INP_GPIO(pwm->gpio);
84 OUT_GPIO(pwm->gpio);
85 return pwm;
86 }
87
88 /*
89 * Close the soft PWM object:
90 */
91 void
92 pwm_close(PWM *pwm) {
93 pwm->stopf = 1;
94 if ( pwm->thread )
95 pthread_join(pwm->thread,0);
96 pwm->thread = 0;
97 free(pwm);
98 }
99
100 /*
101 * Set PWM Ratio:
102 */
103 void
104 pwm_ratio(PWM *pwm,unsigned n,unsigned m) {
105 pwm->n = n <= m ? n : m;
106 pwm->m = m;
107 if ( !pwm->thread )
108 pthread_create(&pwm->thread,0,soft_pwm,pwm);
109 else pwm->chgf = 1;
110 }
111
112 /*
113 * Main program:
114 */
115 int
116 main(int argc,char **argv) {
117 int n, m = 100;
118 float f = 1000.0;
119 PWM *pwm;
120 FILE *pipe;
121 char buf[64];
122 float pct, total;
123
124 if ( argc > 1 )
125 n = atoi(argv[1]);
126 if ( argc > 2 )
127 m = atoi(argv[2]);
Search WWH ::




Custom Search