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

problem with puthcar()

I am using puthcar( ) function to send a series of bytes serially thru UART. My problem is that i cannot see the output through serial window of simulator . its printing just some junk values. when i am doing the same with printf(). I am getting response which could be observed from serial window.Can any one tell me why this is happening.

Nitin

Parents
  • The two calls you describe do completely different things - so the fact that the first gives readable output and the second doesn't is absolutely and totally irrelevant!

    Both calls are working correctly - it is your expectation that is faulty!

    The first one takes the numerical value of send_buf[i], formats it into printable text representing its hexadecimal value, then prints the text (using a number of putchar calls); eg, if the value is 0xA5, it will print "A5"

    The second simply takes send_buf[i] and sends it straight to the UART - so if send_buf[i] is not a printable ASCII code (eg, 0xA5) you will get junk.

Reply
  • The two calls you describe do completely different things - so the fact that the first gives readable output and the second doesn't is absolutely and totally irrelevant!

    Both calls are working correctly - it is your expectation that is faulty!

    The first one takes the numerical value of send_buf[i], formats it into printable text representing its hexadecimal value, then prints the text (using a number of putchar calls); eg, if the value is 0xA5, it will print "A5"

    The second simply takes send_buf[i] and sends it straight to the UART - so if send_buf[i] is not a printable ASCII code (eg, 0xA5) you will get junk.

Children