??? 06/05/10 16:23 Read: times |
#176431 - right answer, wrong premise Responding to: ???'s previous message |
if you specify a constant too big or the compiler the result is unknown, thus if the preprocessor is 16 bit based (often the case) this happens
#define CRYSTAL_FREQ 11059200 //A8C000 'cut' to C000 #define STATES_PER_CYCLE 12u 12 #define PERIPH_CLOCK_FREQ CRYSTAL_FREQ / STATES_PER_CYCLE AAA (2730) Thus instead of PERIPH_CLOCK_FREQ 921600 you get 2730 been there Erik |
Topic | Author | Date |
80C52 Timer0 | 01/01/70 00:00 | |
where is the EA initialize? | 01/01/70 00:00 | |
EA initialize | 01/01/70 00:00 | |
no reason in what you show | 01/01/70 00:00 | |
TL0 and TH0 | 01/01/70 00:00 | |
Calculations for Timer T0 at 8KHz: have you tried 0xFF8D ??? | 01/01/70 00:00 | |
correction | 01/01/70 00:00 | |
Yeah - 0x8D | 01/01/70 00:00 | |
Thanks for that typo, More for 8KHz with 50% duty cycle | 01/01/70 00:00 | |
Put the compiler to work... | 01/01/70 00:00 | |
fine, but | 01/01/70 00:00 | |
T0 overflows at 65535+1, don't overlook this | 01/01/70 00:00 | |
right answer, wrong premise | 01/01/70 00:00 | |
Exact calculations require semantics | 01/01/70 00:00 | |
you are welcome to find out | 01/01/70 00:00 | |
Thanks for the correction...![]() | 01/01/70 00:00 |