Editing Embedded Programming Tips and Tricks
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 32: | Line 32: | ||
===AVR=== | ===AVR=== | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
volatile uint16_t clk1000ms=1; // initializing them to 1 insures there is an initial delay cycle when | volatile uint16_t clk1000ms=1; // initializing them to 1 insures there is an initial delay cycle when | ||
volatile uint16_t clk100ms=1; // the code first starts, otherwise they would all happen at | volatile uint16_t clk100ms=1; // the code first starts, otherwise they would all happen at | ||
volatile uint8_t clk10ms=1; // once during first run. | volatile uint8_t clk10ms=1; // once during first run. | ||
+ | |||
ISR (TIMER0_OVF_vect) | ISR (TIMER0_OVF_vect) | ||
{ | { | ||
− | if (clk1000ms!= | + | if (clk1000ms!=0) |
{ | { | ||
clk1000ms++; | clk1000ms++; | ||
− | if (clk1000ms>=10001) clk1000ms= | + | if (clk1000ms>=10001) clk1000ms=0; |
} | } | ||
− | if (clk100ms!= | + | if (clk100ms!=0) |
{ | { | ||
clk100ms++; | clk100ms++; | ||
− | if (clk100ms>=1001) clk100ms= | + | if (clk100ms>=1001) clk100ms=0; |
} | } | ||
− | if (clk10ms!= | + | if (clk10ms!=0) |
{ | { | ||
clk10ms++; | clk10ms++; | ||
− | if (clk10ms>=101) clk10ms= | + | if (clk10ms>=101) clk10ms=0; |
} | } | ||
// Timer clock is 1mhz, timer is 8bit. | // Timer clock is 1mhz, timer is 8bit. | ||
Line 66: | Line 64: | ||
{ | { | ||
− | if (clk1000ms== | + | if (clk1000ms==0) |
{ | { | ||
// put code here to run every second | // put code here to run every second | ||
− | clk1000ms = | + | clk1000ms = 1; |
} | } | ||
− | if (clk100ms== | + | if (clk100ms==0) |
{ | { | ||
// put code here to run 10 times a second | // put code here to run 10 times a second | ||
− | clk100ms = | + | clk100ms = 1; |
} | } | ||
− | if (clk10ms== | + | if (clk10ms==0) |
{ | { | ||
// put code here to run 100 times a second | // put code here to run 100 times a second | ||
− | clk10ms = | + | clk10ms = 1; |
} | } | ||
} | } | ||
</pre> | </pre> |