Gert van der Knokke
/
C1541III
C1541-III mbed edition
delay.c@0:28557a4d2215, 2011-08-22 (annotated)
- Committer:
- gertk
- Date:
- Mon Aug 22 05:48:51 2011 +0000
- Revision:
- 0:28557a4d2215
very early test version, works only with FAT16 formatted sd cards
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gertk | 0:28557a4d2215 | 1 | /*----------------------------------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 2 | /* |
gertk | 0:28557a4d2215 | 3 | high level delay routines - see delay.h for more info. |
gertk | 0:28557a4d2215 | 4 | |
gertk | 0:28557a4d2215 | 5 | Designed by Shane Tolmie of KeyGhost corporation. Freely distributable. |
gertk | 0:28557a4d2215 | 6 | Questions and comments to shane@keyghost.com |
gertk | 0:28557a4d2215 | 7 | PICuWEB - Program PIC micros with C. Site has FAQ and sample source code. http://www.workingtex.com/htpic |
gertk | 0:28557a4d2215 | 8 | |
gertk | 0:28557a4d2215 | 9 | For Microchip PIC18xxxxx and Hi-Tech C |
gertk | 0:28557a4d2215 | 10 | |
gertk | 0:28557a4d2215 | 11 | */ |
gertk | 0:28557a4d2215 | 12 | /*----------------------------------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 13 | |
gertk | 0:28557a4d2215 | 14 | /* History: |
gertk | 0:28557a4d2215 | 15 | -------- |
gertk | 0:28557a4d2215 | 16 | 2006-02-02 -improvements in code layout... i.o.w. making it more readable |
gertk | 0:28557a4d2215 | 17 | |
gertk | 0:28557a4d2215 | 18 | */ |
gertk | 0:28557a4d2215 | 19 | |
gertk | 0:28557a4d2215 | 20 | /* TO DO: |
gertk | 0:28557a4d2215 | 21 | ------ |
gertk | 0:28557a4d2215 | 22 | */ |
gertk | 0:28557a4d2215 | 23 | |
gertk | 0:28557a4d2215 | 24 | /*----------------------------------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 25 | |
gertk | 0:28557a4d2215 | 26 | #ifndef __DELAY_C |
gertk | 0:28557a4d2215 | 27 | #define __DELAY_C |
gertk | 0:28557a4d2215 | 28 | |
gertk | 0:28557a4d2215 | 29 | /*--------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 30 | /* includes */ |
gertk | 0:28557a4d2215 | 31 | /*--------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 32 | #include <mbed.h> |
gertk | 0:28557a4d2215 | 33 | #include <delay.h> |
gertk | 0:28557a4d2215 | 34 | #include <main.h> |
gertk | 0:28557a4d2215 | 35 | |
gertk | 0:28557a4d2215 | 36 | /*--------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 37 | /* globals */ |
gertk | 0:28557a4d2215 | 38 | /*--------------------------------------------------------*/ |
gertk | 0:28557a4d2215 | 39 | unsigned char delayus_variable; |
gertk | 0:28557a4d2215 | 40 | |
gertk | 0:28557a4d2215 | 41 | void CLRWDT(){}; |
gertk | 0:28557a4d2215 | 42 | |
gertk | 0:28557a4d2215 | 43 | /*****************************************************************************************************************/ |
gertk | 0:28557a4d2215 | 44 | /*****************************************************************************************************************/ |
gertk | 0:28557a4d2215 | 45 | |
gertk | 0:28557a4d2215 | 46 | void DelayBigUs(unsigned int cnt) |
gertk | 0:28557a4d2215 | 47 | { |
gertk | 0:28557a4d2215 | 48 | unsigned char i; |
gertk | 0:28557a4d2215 | 49 | |
gertk | 0:28557a4d2215 | 50 | i = (unsigned char)(cnt>>8); |
gertk | 0:28557a4d2215 | 51 | while(i>=1) |
gertk | 0:28557a4d2215 | 52 | { |
gertk | 0:28557a4d2215 | 53 | i--; |
gertk | 0:28557a4d2215 | 54 | DelayUs(253); |
gertk | 0:28557a4d2215 | 55 | CLRWDT(); |
gertk | 0:28557a4d2215 | 56 | } |
gertk | 0:28557a4d2215 | 57 | DelayUs((unsigned char)(cnt & 0xFF)); |
gertk | 0:28557a4d2215 | 58 | } |
gertk | 0:28557a4d2215 | 59 | |
gertk | 0:28557a4d2215 | 60 | void DelayMs(unsigned char cnt) |
gertk | 0:28557a4d2215 | 61 | { |
gertk | 0:28557a4d2215 | 62 | unsigned char i; |
gertk | 0:28557a4d2215 | 63 | do { |
gertk | 0:28557a4d2215 | 64 | i = 4; |
gertk | 0:28557a4d2215 | 65 | do { |
gertk | 0:28557a4d2215 | 66 | DelayUs(250); |
gertk | 0:28557a4d2215 | 67 | CLRWDT(); |
gertk | 0:28557a4d2215 | 68 | } while(--i); |
gertk | 0:28557a4d2215 | 69 | } while(--cnt); |
gertk | 0:28557a4d2215 | 70 | } |
gertk | 0:28557a4d2215 | 71 | |
gertk | 0:28557a4d2215 | 72 | //this copy is for the interrupt function |
gertk | 0:28557a4d2215 | 73 | void DelayMs_interrupt(unsigned char cnt) |
gertk | 0:28557a4d2215 | 74 | { |
gertk | 0:28557a4d2215 | 75 | unsigned char i; |
gertk | 0:28557a4d2215 | 76 | do { |
gertk | 0:28557a4d2215 | 77 | i = 4; |
gertk | 0:28557a4d2215 | 78 | do { |
gertk | 0:28557a4d2215 | 79 | DelayUs(250); |
gertk | 0:28557a4d2215 | 80 | } while(--i); |
gertk | 0:28557a4d2215 | 81 | } while(--cnt); |
gertk | 0:28557a4d2215 | 82 | } |
gertk | 0:28557a4d2215 | 83 | |
gertk | 0:28557a4d2215 | 84 | void DelayBigMs(unsigned int cnt) |
gertk | 0:28557a4d2215 | 85 | { |
gertk | 0:28557a4d2215 | 86 | unsigned char i; |
gertk | 0:28557a4d2215 | 87 | do { |
gertk | 0:28557a4d2215 | 88 | i = 4; |
gertk | 0:28557a4d2215 | 89 | do { |
gertk | 0:28557a4d2215 | 90 | DelayUs(250); |
gertk | 0:28557a4d2215 | 91 | CLRWDT(); |
gertk | 0:28557a4d2215 | 92 | } while(--i); |
gertk | 0:28557a4d2215 | 93 | } while(--cnt); |
gertk | 0:28557a4d2215 | 94 | } |
gertk | 0:28557a4d2215 | 95 | |
gertk | 0:28557a4d2215 | 96 | void DelayS(unsigned char cnt) |
gertk | 0:28557a4d2215 | 97 | { |
gertk | 0:28557a4d2215 | 98 | unsigned char i; |
gertk | 0:28557a4d2215 | 99 | do { |
gertk | 0:28557a4d2215 | 100 | i = 4; |
gertk | 0:28557a4d2215 | 101 | do { |
gertk | 0:28557a4d2215 | 102 | DelayMs(250); |
gertk | 0:28557a4d2215 | 103 | CLRWDT(); |
gertk | 0:28557a4d2215 | 104 | } while(--i); |
gertk | 0:28557a4d2215 | 105 | } while(--cnt); |
gertk | 0:28557a4d2215 | 106 | } |
gertk | 0:28557a4d2215 | 107 | |
gertk | 0:28557a4d2215 | 108 | #endif |
gertk | 0:28557a4d2215 | 109 | |
gertk | 0:28557a4d2215 | 110 |