Committer:
simon
Date:
Thu Jan 20 14:15:24 2011 +0000
Revision:
1:4115ae4cbc76
Parent:
0:c795e64e9eb0
A program displaying strange memory behavior

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:c795e64e9eb0 1 #include "mbed.h"
simon 0:c795e64e9eb0 2
simon 1:4115ae4cbc76 3 /*
simon 1:4115ae4cbc76 4
simon 1:4115ae4cbc76 5 based on http://mbed.org/forum/mbed/topic/1704/
simon 1:4115ae4cbc76 6
simon 1:4115ae4cbc76 7 the Pwm part doesnt work; only led1 comes on
simon 1:4115ae4cbc76 8
simon 1:4115ae4cbc76 9 if the printf in the while is removed, or the PwmOut is moved to be static/global, all works fine
simon 1:4115ae4cbc76 10
simon 1:4115ae4cbc76 11 seems like a memory problem.
simon 1:4115ae4cbc76 12 */
simon 0:c795e64e9eb0 13
simon 0:c795e64e9eb0 14 int main() {
simon 1:4115ae4cbc76 15 DigitalOut led1(LED1);
simon 1:4115ae4cbc76 16 float f=0.0;
simon 0:c795e64e9eb0 17
simon 1:4115ae4cbc76 18 PwmOut display(LED2);
simon 0:c795e64e9eb0 19
simon 1:4115ae4cbc76 20 display.period_ms(1);
simon 0:c795e64e9eb0 21
simon 1:4115ae4cbc76 22 display=f;
simon 1:4115ae4cbc76 23
simon 1:4115ae4cbc76 24 AnalogIn light(p20);
simon 1:4115ae4cbc76 25
simon 1:4115ae4cbc76 26 for (int i=0;i<100;i++)
simon 1:4115ae4cbc76 27 {
simon 1:4115ae4cbc76 28 f=f+0.01;
simon 1:4115ae4cbc76 29 display=f;
simon 1:4115ae4cbc76 30 wait (0.03);
simon 1:4115ae4cbc76 31 }
simon 1:4115ae4cbc76 32 printf("%f\n",display.read());
simon 1:4115ae4cbc76 33 led1=1;
simon 1:4115ae4cbc76 34
simon 1:4115ae4cbc76 35 while (true)
simon 1:4115ae4cbc76 36 {
simon 1:4115ae4cbc76 37 double d=light;
simon 1:4115ae4cbc76 38 double sq=pow(d,0.6);
simon 1:4115ae4cbc76 39 display.write(sq*3);
simon 1:4115ae4cbc76 40
simon 1:4115ae4cbc76 41 printf("%f / %f\n",d,sq);
simon 1:4115ae4cbc76 42 wait(1);
simon 0:c795e64e9eb0 43 }
simon 0:c795e64e9eb0 44 }