Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.raspberry-pi    |    Raspberry Pi computers & related hardwar    |    26,127 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 24,358 of 26,127    |
|    The Natural Philosopher to All    |
|    Re: Need help with PI PICO...    |
|    28 Mar 24 11:56:14    |
   
   From: tnp@invalid.invalid   
      
   On 28/03/2024 08:35, Björn Lundin wrote:   
   > On 2024-03-25 16:57, The Natural Philosopher wrote:   
   >> That is, some asynchrounous event in this sequence   
   >>   
   >> gpio_put(ULTRASONIC_OUT,1);   
   >> sleep_us(10);   
   >> gpio_put(ULTRASONIC_OUT,0); //reset the input   
   >> //if asynch event lasting more than 100uS occurs here...   
   >> // wait for echo pulse start   
   >> while(!gpio_get(ULTRASONIC_IN))   
   >> ;   
   >> //then the low-high-low echo pulse will never be detected.   
   >   
   >   
   > if you change the wait body to include a counter then you could realize   
   > that when the counter had reached a high number - you missed the pulse.   
   > Just try again then. Getting a reading is not that time sensitive - or?   
   >   
   That will be the next strategy.   
      
   I need to isolate exactly which bit is failing, and can remove all the   
   other debug code.   
   If it turns out to be a one in a thousand issue it probably isn't worth   
   trying to avoid it, as you say, simply take another sample   
      
      
   > :START   
   > int cnt = 0;   
   > gpio_put(ULTRASONIC_OUT,1);   
   > sleep_us(10);   
   > gpio_put(ULTRASONIC_OUT,0); //reset the input   
   > //if asynch event lasting more than 100uS occurs here...   
   > // wait for echo pulse start   
   > while(TRUE) {   
   >   
   > if (! gpio_get(ULTRASONIC_IN)) {   
   > cnt++   
   > } else {   
   > break;   
   > }   
   >   
   > if (cnt >= TOO_HIGH_VALUE) {   
   > goto START;   
   > }   
   >   
   >   
   > }   
   >   
      
   --   
   “It is hard to imagine a more stupid decision or more dangerous way of   
   making decisions than by putting those decisions in the hands of people   
   who pay no price for being wrong.”   
      
   Thomas Sowell   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca