In order to find out what pulsin really grabs I used serout data to debug...
Here are the results so far -after reading the sensor 3 times.... :
NOTE I changed the code a little bit so I can capture all data (included the start transmit 1bit before each 'bit')
...remember that I use a 4Mhz crystal so the pulse width is returned in 10us increments.Code:* * * START * * * 01=> 50uS bit_val= 1 02=> 20uS bit_val= 0 03=> 50uS bit_val= 1 04=> 30uS bit_val= 1 05=> 50uS bit_val= 1 06=> 70uS bit_val= 1 07=> 50uS bit_val= 1 08=> 70uS bit_val= 1 09=> 50uS bit_val= 1 10=> 20uS bit_val= 0 11=> 50uS bit_val= 1 12=> 30uS bit_val= 1 13=> 50uS bit_val= 1 14=> 20uS bit_val= 0 15=> 50uS bit_val= 1 16=> 30uS bit_val= 1 17=> 70uS bit_val= 1 18=> 20uS bit_val= 0 19=> 50uS bit_val= 1 20=> 60uS bit_val= 0 21=> 50uS bit_val= 1 22=> 70uS bit_val= 1 23=> 50uS bit_val= 1 24=> 30uS bit_val= 1 25=> 50uS bit_val= 1 26=> 20uS bit_val= 0 27=> 50uS bit_val= 1 28=> 0uS bit_val= 0 29=> 0uS bit_val= 0 30=> 0uS bit_val= 0 31=> 0uS bit_val= 0 32=> 0uS bit_val= 0 33=> 0uS bit_val= 0 34=> 0uS bit_val= 0 35=> 0uS bit_val= 0 36=> 0uS bit_val= 0 37=> 0uS bit_val= 0 38=> 0uS bit_val= 0 39=> 0uS bit_val= 0 40=> 0uS bit_val= 0 41=> 0uS bit_val= 0 42=> 0uS bit_val= 0 43=> 0uS bit_val= 0 44=> 0uS bit_val= 0 45=> 0uS bit_val= 0 46=> 0uS bit_val= 0 47=> 0uS bit_val= 0 48=> 0uS bit_val= 0 49=> 0uS bit_val= 0 50=> 0uS bit_val= 0 51=> 0uS bit_val= 0 52=> 0uS bit_val= 0 53=> 0uS bit_val= 0 54=> 0uS bit_val= 0 55=> 0uS bit_val= 0 56=> 0uS bit_val= 0 57=> 0uS bit_val= 0 58=> 0uS bit_val= 0 59=> 0uS bit_val= 0 60=> 0uS bit_val= 0 61=> 0uS bit_val= 0 62=> 0uS bit_val= 0 63=> 0uS bit_val= 0 64=> 0uS bit_val= 0 65=> 0uS bit_val= 0 66=> 0uS bit_val= 0 67=> 0uS bit_val= 0 68=> 0uS bit_val= 0 69=> 0uS bit_val= 0 70=> 0uS bit_val= 0 71=> 0uS bit_val= 0 72=> 0uS bit_val= 0 73=> 0uS bit_val= 0 74=> 0uS bit_val= 0 75=> 0uS bit_val= 0 76=> 0uS bit_val= 0 77=> 0uS bit_val= 0 78=> 0uS bit_val= 0 79=> 0uS bit_val= 0 80=> 0uS bit_val= 0 * * * END * * * * * * START * * * 01=> 50uS bit_val= 1 02=> 20uS bit_val= 0 03=> 50uS bit_val= 1 04=> 30uS bit_val= 1 05=> 50uS bit_val= 1 06=> 70uS bit_val= 1 07=> 50uS bit_val= 1 08=> 70uS bit_val= 1 09=> 50uS bit_val= 1 10=> 20uS bit_val= 0 11=> 50uS bit_val= 1 12=> 30uS bit_val= 1 13=> 50uS bit_val= 1 14=> 20uS bit_val= 0 15=> 50uS bit_val= 1 16=> 20uS bit_val= 0 17=> 70uS bit_val= 1 18=> 20uS bit_val= 0 19=> 50uS bit_val= 1 20=> 70uS bit_val= 1 21=> 50uS bit_val= 1 22=> 60uS bit_val= 0 23=> 50uS bit_val= 1 24=> 30uS bit_val= 1 25=> 50uS bit_val= 1 26=> 20uS bit_val= 0 27=> 50uS bit_val= 1 28=> 0uS bit_val= 0 29=> 0uS bit_val= 0 30=> 0uS bit_val= 0 31=> 0uS bit_val= 0 32=> 0uS bit_val= 0 33=> 0uS bit_val= 0 34=> 0uS bit_val= 0 35=> 0uS bit_val= 0 36=> 0uS bit_val= 0 37=> 0uS bit_val= 0 38=> 0uS bit_val= 0 39=> 0uS bit_val= 0 40=> 0uS bit_val= 0 41=> 0uS bit_val= 0 42=> 0uS bit_val= 0 43=> 0uS bit_val= 0 44=> 0uS bit_val= 0 45=> 0uS bit_val= 0 46=> 0uS bit_val= 0 47=> 0uS bit_val= 0 48=> 0uS bit_val= 0 49=> 0uS bit_val= 0 50=> 0uS bit_val= 0 51=> 0uS bit_val= 0 52=> 0uS bit_val= 0 53=> 0uS bit_val= 0 54=> 0uS bit_val= 0 55=> 0uS bit_val= 0 56=> 0uS bit_val= 0 57=> 0uS bit_val= 0 58=> 0uS bit_val= 0 59=> 0uS bit_val= 0 60=> 0uS bit_val= 0 61=> 0uS bit_val= 0 62=> 0uS bit_val= 0 63=> 0uS bit_val= 0 64=> 0uS bit_val= 0 65=> 0uS bit_val= 0 66=> 0uS bit_val= 0 67=> 0uS bit_val= 0 68=> 0uS bit_val= 0 69=> 0uS bit_val= 0 70=> 0uS bit_val= 0 71=> 0uS bit_val= 0 72=> 0uS bit_val= 0 73=> 0uS bit_val= 0 74=> 0uS bit_val= 0 75=> 0uS bit_val= 0 76=> 0uS bit_val= 0 77=> 0uS bit_val= 0 78=> 0uS bit_val= 0 79=> 0uS bit_val= 0 80=> 0uS bit_val= 0 * * * END * * *
Acoording to the above dubugging infos we can see a 50uS pulse wich according to datasheet is the pulse before each "0" or "1" pulse!
One weird thing is also tha after pulse number 27 I read no pulses!!




Bookmarks