You are not logged in. Your edit will be placed in a queue until it is peer reviewed.
We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.
Required fields*
- 1Doing a lot of serial printing at a low baud rate will of course cause you to fall behind. You should try to determine where your code gets stuck in the fast case. It looks like you have a possible race condition with potentially clearing the interrupt flag before acting on it, also you do an exact equality comparison on a length that might be able (?) to exceed that. Try putting a counter in your while() loop and printing some output if you are stuck there for a long time. Make sure you aren't overflowing any 16 bit variables...Chris Stratton– Chris Stratton2018-03-27 18:37:50 +00:00Commented Mar 27, 2018 at 18:37
- @ChrisStratton Well, the above code has been modified by me. I have used long instead of int, and I am quite sure that overflow shouldn't be occuring, and used serial printing for debugging. But none of these seemed to help since the board freezes randomly anywhere. There is no pattern. Also, pressing the reset button should restart the code (which happens for other simpler codes), but it's not happening. The board remains frozen.This is the code in case you wanna see it.virmis_007– virmis_0072018-03-28 14:36:33 +00:00Commented Mar 28, 2018 at 14:36
- @ChrisStratton Also, it should not be a case of integer overflow, because I have tested overflow on other simpler programs. In case overflow occurs, the value simply rolls over, it does not freeze the program execution.virmis_007– virmis_0072018-03-28 14:42:36 +00:00Commented Mar 28, 2018 at 14:42
- 1Again, your best route to a solution is probably going to be figuring out where in the program it does get stuck.Chris Stratton– Chris Stratton2018-03-28 16:18:59 +00:00Commented Mar 28, 2018 at 16:18
Add a comment |
How to Edit
- Correct minor typos or mistakes
- Clarify meaning without changing it
- Add related resources or links
- Always respect the author’s intent
- Don’t use edits to reply to the author
How to Format
- create code fences with backticks ` or tildes ~ ```
like so
``` - add language identifier to highlight code ```python
def function(foo):
print(foo)
``` - put returns between paragraphs
- for linebreak add 2 spaces at end
- _italic_ or **bold**
- indent code by 4 spaces
- backtick escapes
`like _so_` - quote by placing > at start of line
- to make links (use https whenever possible) <https://example.com>[example](https://example.com)<a href="https://example.com">example</a>
How to Tag
A tag is a keyword or label that categorizes your question with other, similar questions. Choose one or more (up to 5) tags that will help answerers to find and interpret your question.
- complete the sentence: my question is about...
- use tags that describe things or concepts that are essential, not incidental to your question
- favor using existing popular tags
- read the descriptions that appear below the tag
If your question is primarily about a topic for which you can't find a tag:
- combine multiple words into single-words with hyphens (e.g. arduino-uno), up to a maximum of 35 characters
- creating new tags is a privilege; if you can't yet create a tag you need, then post this question without it, then ask the community to create it for you
lang-cpp