??? 01/08/08 14:01 Read: times |
#149139 - Also ... Responding to: ???'s previous message |
while((int(TH1<<8)+int(TL1))<Delay); If I'm not mistakten, the line above will take take TH1 (a char), shift it eight bits to the left, and then cast it to an int. The result is zero. while( (((int) TH1)<<8) + int(TL1) )<Delay); should be "correct", but that still does not solve the atomicity issue. |
Topic | Author | Date |
Number of CPU cycle for 8051 function call | 01/01/70 00:00 | |
Do it in assembler | 01/01/70 00:00 | |
Delay functions | 01/01/70 00:00 | |
A related trick | 01/01/70 00:00 | |
Offset | 01/01/70 00:00 | |
Offset | 01/01/70 00:00 | |
Sure | 01/01/70 00:00 | |
Over Drive? | 01/01/70 00:00 | |
a refinement | 01/01/70 00:00 | |
NOPs are so bad waste of space... | 01/01/70 00:00 | |
waste of space... waste of time | 01/01/70 00:00 | |
fixed delay | 01/01/70 00:00 | |
Variable delay | 01/01/70 00:00 | |
determinism of the cache | 01/01/70 00:00 | |
there are no cache misses in 'linear code' | 01/01/70 00:00 | |
I got only ONE cache miss... | 01/01/70 00:00 | |
Old Keil Thread | 01/01/70 00:00 | |
What about a Delay like this. | 01/01/70 00:00 | |
No, it won't. | 01/01/70 00:00 | |
Ok. | 01/01/70 00:00 | |
also | 01/01/70 00:00 | |
Also ... | 01/01/70 00:00 | |
Actually... | 01/01/70 00:00 | |
will. | 01/01/70 00:00 | |
ANSI C | 01/01/70 00:00 | |
Keil option: Disable ANSI casts | 01/01/70 00:00 | |
typo. | 01/01/70 00:00 |