]> git.sur5r.net Git - freertos/blob - Demo/HCS12_CodeWarrior_banked/CODE/TickTimer.H
First version under SVN is V4.0.1
[freertos] / Demo / HCS12_CodeWarrior_banked / CODE / TickTimer.H
1 /** ###################################################################\r
2 **     THIS BEAN MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.\r
3 **     Filename  : TickTimer.H\r
4 **     Project   : RTOSDemo\r
5 **     Processor : MC9S12DP256BCPV\r
6 **     Beantype  : TimerInt\r
7 **     Version   : Bean 02.063, Driver 01.05, CPU db: 2.87.283\r
8 **     Compiler  : Metrowerks HC12 C Compiler\r
9 **     Date/Time : 18/06/2005, 16:21\r
10 **     Abstract  :\r
11 **         This bean "TimerInt" implements a periodic interrupt.\r
12 **         When the bean and its events are enabled, the "OnInterrupt"\r
13 **         event is called periodically with the period that you specify.\r
14 **         TimerInt supports also changing the period in runtime.\r
15 **         The source of periodic interrupt can be timer compare or reload \r
16 **         register or timer-overflow interrupt (of free running counter).\r
17 **     Settings  :\r
18 **         Timer name                  : ECT (16-bit)\r
19 **         Compare name                : TC0\r
20 **         Counter shared              : No\r
21 **\r
22 **         High-speed CPU mode\r
23 **             Prescaler               : divide-by-8\r
24 **             Clock                   : 3124000 Hz\r
25 **           Initial period/frequency\r
26 **             Xtal ticks              : 16000\r
27 **             microseconds            : 1000\r
28 **             milliseconds            : 1\r
29 **             seconds (real)          : 0.0010000\r
30 **             Hz                      : 1000\r
31 **             kHz                     : 1\r
32 **\r
33 **         Runtime setting             : period/frequency interval (continual setting)\r
34 **             ticks                   : 16000 to 320000 ticks\r
35 **             microseconds            : 1000 to 20000 microseconds\r
36 **             milliseconds            : 1 to 20 milliseconds\r
37 **             seconds (real)          : 0.0010000 to 0.0200000 seconds\r
38 **             Hz                      : 50 to 1000 Hz\r
39 **\r
40 **         Initialization:\r
41 **              Timer                  : Enabled\r
42 **              Events                 : Enabled\r
43 **\r
44 **         Timer registers\r
45 **              Counter                : TCNT      [68]\r
46 **              Mode                   : TIOS      [64]\r
47 **              Run                    : TSCR1     [70]\r
48 **              Prescaler              : TSCR2     [77]\r
49 **\r
50 **         Compare registers\r
51 **              Compare                : TC0       [80]\r
52 **\r
53 **         Flip-flop registers\r
54 **              Mode                   : TCTL2     [73]\r
55 **     Contents  :\r
56 **         Enable           - byte TickTimer_Enable(void);\r
57 **         SetPeriodTicks16 - byte TickTimer_SetPeriodTicks16(word Ticks);\r
58 **         SetPeriodTicks32 - byte TickTimer_SetPeriodTicks32(dword Ticks);\r
59 **         SetPeriodUS      - byte TickTimer_SetPeriodUS(word Time);\r
60 **         SetPeriodMS      - byte TickTimer_SetPeriodMS(word Time);\r
61 **         SetFreqHz        - byte TickTimer_SetFreqHz(word Freq);\r
62 **\r
63 **     (c) Copyright UNIS, spol. s r.o. 1997-2002\r
64 **     UNIS, spol. s r.o.\r
65 **     Jundrovska 33\r
66 **     624 00 Brno\r
67 **     Czech Republic\r
68 **     http      : www.processorexpert.com\r
69 **     mail      : info@processorexpert.com\r
70 ** ###################################################################*/\r
71 \r
72 #ifndef __TickTimer\r
73 #define __TickTimer\r
74 \r
75 /* MODULE TickTimer. */\r
76 \r
77 #include "Cpu.h"\r
78 \r
79 #pragma CODE_SEG TickTimer_CODE        /* Code section for this module. */\r
80 \r
81 #define TickTimer_SPT16Min 16000       /* Lower bound of interval for method SetPeriodTicks16 */\r
82 #define TickTimer_SPT16Max 65535       /* Upper bound of interval for method SetPeriodTicks16 */\r
83 #define TickTimer_SPT32Min 16000       /* Lower bound of interval for method SetPeriodTicks32 */\r
84 #define TickTimer_SPT32Max 320000      /* Upper bound of interval for method SetPeriodTicks32 */\r
85 #define TickTimer_SPUSMin  1000        /* Lower bound of interval for method SetPeriodUS */\r
86 #define TickTimer_SPUSMax  20000       /* Upper bound of interval for method SetPeriodUS */\r
87 #define TickTimer_SPMSMin  1           /* Lower bound of interval for method SetPeriodMS */\r
88 #define TickTimer_SPMSMax  20          /* Upper bound of interval for method SetPeriodMS */\r
89 #define TickTimer_SFHzMin  50          /* Lower bound of interval for method SetFreqHz */\r
90 #define TickTimer_SFHzMax  1000        /* Upper bound of interval for method SetFreqHz */\r
91 \r
92 \r
93 byte TickTimer_Enable(void);\r
94 /*\r
95 ** ===================================================================\r
96 **     Method      :  TickTimer_Enable (bean TimerInt)\r
97 **\r
98 **     Description :\r
99 **         Enable the bean - it starts the timer. Events may be\r
100 **         generated ("DisableEvent"/"EnableEvent").\r
101 **     Parameters  : None\r
102 **     Returns     :\r
103 **         ---             - Error code, possible codes:\r
104 **                           ERR_OK - OK\r
105 **                           ERR_SPEED - This device does not work in\r
106 **                           the active speed mode\r
107 ** ===================================================================\r
108 */\r
109 \r
110 byte TickTimer_SetPeriodTicks16(word Ticks);\r
111 /*\r
112 ** ===================================================================\r
113 **     Method      :  TickTimer_SetPeriodTicks16 (bean TimerInt)\r
114 **\r
115 **     Description :\r
116 **         This method sets the new period of the generated events.\r
117 **         The period is expressed in Xtal ticks as a 16-bit unsigned\r
118 **         integer number.\r
119 **         This method is available only if runtime setting type\r
120 **         'from interval' is selected in the Timing dialog box in\r
121 **         Runtime setting area.\r
122 **     Parameters  :\r
123 **         NAME            - DESCRIPTION\r
124 **         Ticks           - Period to set [in Xtal ticks]\r
125 **                      (16000 to 65535 ticks)\r
126 **     Returns     :\r
127 **         ---             - Error code, possible codes:\r
128 **                           ERR_OK - OK\r
129 **                           ERR_SPEED - This device does not work in\r
130 **                           the active speed mode\r
131 **                           ERR_MATH - Overflow during evaluation\r
132 **                           ERR_RANGE - Parameter out of range\r
133 ** ===================================================================\r
134 */\r
135 \r
136 byte TickTimer_SetPeriodTicks32(dword Ticks);\r
137 /*\r
138 ** ===================================================================\r
139 **     Method      :  TickTimer_SetPeriodTicks32 (bean TimerInt)\r
140 **\r
141 **     Description :\r
142 **         This method sets the new period of the generated events.\r
143 **         The period is expressed in Xtal ticks as a 32-bit unsigned\r
144 **         integer number.\r
145 **         This method is available only if runtime setting type\r
146 **         'from interval' is selected in the Timing dialog box in\r
147 **         Runtime setting area.\r
148 **     Parameters  :\r
149 **         NAME            - DESCRIPTION\r
150 **         Ticks           - Period to set [in Xtal ticks]\r
151 **                      (16000 to 320000 ticks)\r
152 **     Returns     :\r
153 **         ---             - Error code, possible codes:\r
154 **                           ERR_OK - OK\r
155 **                           ERR_SPEED - This device does not work in\r
156 **                           the active speed mode\r
157 **                           ERR_MATH - Overflow during evaluation\r
158 **                           ERR_RANGE - Parameter out of range\r
159 ** ===================================================================\r
160 */\r
161 \r
162 byte TickTimer_SetPeriodUS(word Time);\r
163 /*\r
164 ** ===================================================================\r
165 **     Method      :  TickTimer_SetPeriodUS (bean TimerInt)\r
166 **\r
167 **     Description :\r
168 **         This method sets the new period of the generated events.\r
169 **         The period is expressed in microseconds as a 16-bit\r
170 **         unsigned integer number.\r
171 **         This method is available only if runtime setting type\r
172 **         'from interval' is selected in the Timing dialog box in\r
173 **         Runtime setting area.\r
174 **     Parameters  :\r
175 **         NAME            - DESCRIPTION\r
176 **         Time            - Period to set [in microseconds]\r
177 **                      (1000 to 20000 microseconds)\r
178 **     Returns     :\r
179 **         ---             - Error code, possible codes:\r
180 **                           ERR_OK - OK\r
181 **                           ERR_SPEED - This device does not work in\r
182 **                           the active speed mode\r
183 **                           ERR_MATH - Overflow during evaluation\r
184 **                           ERR_RANGE - Parameter out of range\r
185 ** ===================================================================\r
186 */\r
187 \r
188 byte TickTimer_SetPeriodMS(word Time);\r
189 /*\r
190 ** ===================================================================\r
191 **     Method      :  TickTimer_SetPeriodMS (bean TimerInt)\r
192 **\r
193 **     Description :\r
194 **         This method sets the new period of the generated events.\r
195 **         The period is expressed in miliseconds as a 16-bit\r
196 **         unsigned integer number.\r
197 **         This method is available only if runtime setting type\r
198 **         'from interval' is selected in the Timing dialog box in\r
199 **         Runtime setting area.\r
200 **     Parameters  :\r
201 **         NAME            - DESCRIPTION\r
202 **         Time            - Period to set [in miliseconds]\r
203 **                      (1 to 20 milliseconds)\r
204 **     Returns     :\r
205 **         ---             - Error code, possible codes:\r
206 **                           ERR_OK - OK\r
207 **                           ERR_SPEED - This device does not work in\r
208 **                           the active speed mode\r
209 **                           ERR_MATH - Overflow during evaluation\r
210 **                           ERR_RANGE - Parameter out of range\r
211 ** ===================================================================\r
212 */\r
213 \r
214 byte TickTimer_SetFreqHz(word Freq);\r
215 /*\r
216 ** ===================================================================\r
217 **     Method      :  TickTimer_SetFreqHz (bean TimerInt)\r
218 **\r
219 **     Description :\r
220 **         This method sets the new frequency of the generated\r
221 **         events. The frequency is expressed in Hz as a 16-bit\r
222 **         unsigned integer number.\r
223 **         This method is available only if runtime setting type\r
224 **         'from interval' is selected in the Timing dialog box in\r
225 **         Runtime setting area.\r
226 **     Parameters  :\r
227 **         NAME            - DESCRIPTION\r
228 **         Freq            - Frequency to set [in Hz]\r
229 **                      (50 to 1000 Hz)\r
230 **     Returns     :\r
231 **         ---             - Error code, possible codes:\r
232 **                           ERR_OK - OK\r
233 **                           ERR_SPEED - This device does not work in\r
234 **                           the active speed mode\r
235 **                           ERR_MATH - Overflow during evaluation\r
236 **                           ERR_RANGE - Parameter out of range\r
237 ** ===================================================================\r
238 */\r
239 \r
240 #pragma CODE_SEG __NEAR_SEG NON_BANKED /* Interrupt section for this module. Placement will be in NON_BANKED area. */\r
241 __interrupt void  TickTimer_Interrupt(void);\r
242 #pragma CODE_SEG TickTimer_CODE        /* Code section for this module. */\r
243 /*\r
244 ** ===================================================================\r
245 **     Method      :  TickTimer_Interrupt (bean TimerInt)\r
246 **\r
247 **     Description :\r
248 **         This method is internal. It is used by Processor Expert\r
249 **         only.\r
250 ** ===================================================================\r
251 */\r
252 \r
253 void TickTimer_Init(void);\r
254 /*\r
255 ** ===================================================================\r
256 **     Method      :  TickTimer_Init (bean TimerInt)\r
257 **\r
258 **     Description :\r
259 **         This method is internal. It is used by Processor Expert\r
260 **         only.\r
261 ** ===================================================================\r
262 */\r
263 \r
264 #pragma CODE_SEG DEFAULT               /* Change code section to DEFAULT. */\r
265 \r
266 /* END TickTimer. */\r
267 \r
268 #endif /* ifndef __TickTimer */\r
269 /*\r
270 ** ###################################################################\r
271 **\r
272 **     This file was created by UNIS Processor Expert 03.33 for \r
273 **     the Motorola HCS12 series of microcontrollers.\r
274 **\r
275 ** ###################################################################\r
276 */\r