This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

measuring time between two pulses

Hi all,

first time posting here. Ive got a most simple goal, measure the time between a bit going low and a second bit going low.

I can only use P1, so Im assuming

loop
while p1.0 = 1

p1.0 = 0?

start a timer, could count up to 10 seconds

now loop waiting for p1.1 = 0

p1.1 = 0?

stop the timer, calculate how many seconds

display the result. Im using an HTE SDK8032 board, there is a monitor routine to display text, it interfaces to hyperterminal. if I can just get that "seconds" value, I could convert as needed and print it.

simple. what happens? nothing.

now Im trying to use C and a 32bit long as the timer int, maybe decrement, jump not zero or ?

but figuring out time from the 11.05 Mc crystal (used for baud rates) is just not making sense right now, any help is appreciated.

Parents
  • The compiler is tryin to link to the floating pint library, which is not supplied in the evaluation version. I don't see why this is happening, as you only appear to be using integer variables.

    It is easier to get code working without interrupts to start with. I would suggest you try just outputting a message when signal 1 goes low, then a different message when signal 2 goes low. When this is working, then try to time the period between the two transitions.


    When programming embedded systems, it is usual for your main procedure to be declared as

    void main(void)
    , as it does not accept any arguments, and should never exit.

    Forget about MS VBNET. You can only use tools expressly designed for a microcontroller.

Reply
  • The compiler is tryin to link to the floating pint library, which is not supplied in the evaluation version. I don't see why this is happening, as you only appear to be using integer variables.

    It is easier to get code working without interrupts to start with. I would suggest you try just outputting a message when signal 1 goes low, then a different message when signal 2 goes low. When this is working, then try to time the period between the two transitions.


    When programming embedded systems, it is usual for your main procedure to be declared as

    void main(void)
    , as it does not accept any arguments, and should never exit.

    Forget about MS VBNET. You can only use tools expressly designed for a microcontroller.

Children
No data