1<?xml version="1.0" encoding="utf-8" standalone="no"?> 2<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="svd_schema.xsd"> 3 <peripheral> 4 <name>TMR0</name> 5 <description>32-bit reloadable timer that can be used for timing and event counting.</description> 6 <groupName>Timers</groupName> 7 <baseAddress>0x40010000</baseAddress> 8 <addressBlock> 9 <offset>0x00</offset> 10 <size>0x1000</size> 11 <usage>registers</usage> 12 </addressBlock> 13 <interrupt> 14 <name>TMR0</name> 15 <description>TMR0 IRQ</description> 16 <value>5</value> 17 </interrupt> 18 <registers> 19 <register> 20 <name>CNT</name> 21 <description>Count. This register stores the current timer count.</description> 22 <addressOffset>0x00</addressOffset> 23 <resetValue>0x00000001</resetValue> 24 <fields> 25 <field> 26 <name>COUNT</name> 27 <description>Current count on the timer.</description> 28 <bitOffset>0</bitOffset> 29 <bitWidth>32</bitWidth> 30 </field> 31 </fields> 32 </register> 33 <register> 34 <name>CMP</name> 35 <description>Compare. This register stores the compare value, which is used to set the maximum count value to initiate a reload of the timer to 0x0001.</description> 36 <addressOffset>0x04</addressOffset> 37 <resetValue>0x0000FFFF</resetValue> 38 <fields> 39 <field> 40 <name>COMPARE</name> 41 <description>Timer compare value.</description> 42 <bitOffset>0</bitOffset> 43 <bitWidth>32</bitWidth> 44 </field> 45 </fields> 46 </register> 47 <register> 48 <name>PWM</name> 49 <description>PWM. This register stores the value that is compared to the current timer count.</description> 50 <addressOffset>0x08</addressOffset> 51 <fields> 52 <field> 53 <name>PWM</name> 54 <description>Timer PWM match value.</description> 55 <bitOffset>0</bitOffset> 56 <bitWidth>32</bitWidth> 57 </field> 58 </fields> 59 </register> 60 <register> 61 <name>INTR</name> 62 <description>Clear Interrupt. Writing a value (0 or 1) to a bit in this register clears the associated interrupt.</description> 63 <addressOffset>0x0C</addressOffset> 64 <modifiedWriteValues>oneToClear</modifiedWriteValues> 65 <fields> 66 <field> 67 <name>IRQ</name> 68 <description>Clear Interrupt.</description> 69 <bitOffset>0</bitOffset> 70 <bitWidth>1</bitWidth> 71 </field> 72 </fields> 73 </register> 74 <register> 75 <name>CN</name> 76 <description>Timer Control Register.</description> 77 <addressOffset>0x10</addressOffset> 78 <fields> 79 <field> 80 <name>TMODE</name> 81 <description>Timer Mode.</description> 82 <bitOffset>0</bitOffset> 83 <bitWidth>3</bitWidth> 84 <enumeratedValues> 85 <enumeratedValue> 86 <name>oneshot</name> 87 <description>One Shot Mode.</description> 88 <value>0</value> 89 </enumeratedValue> 90 <enumeratedValue> 91 <name>continuous</name> 92 <description>Continuous Mode.</description> 93 <value>1</value> 94 </enumeratedValue> 95 <enumeratedValue> 96 <name>counter</name> 97 <description>Counter Mode.</description> 98 <value>2</value> 99 </enumeratedValue> 100 <enumeratedValue> 101 <name>pwm</name> 102 <description>PWM Mode.</description> 103 <value>3</value> 104 </enumeratedValue> 105 <enumeratedValue> 106 <name>capture</name> 107 <description>Capture Mode.</description> 108 <value>4</value> 109 </enumeratedValue> 110 <enumeratedValue> 111 <name>compare</name> 112 <description>Compare Mode.</description> 113 <value>5</value> 114 </enumeratedValue> 115 <enumeratedValue> 116 <name>gated</name> 117 <description>Gated Mode.</description> 118 <value>6</value> 119 </enumeratedValue> 120 <enumeratedValue> 121 <name>capturecompare</name> 122 <description>Capture/Compare Mode.</description> 123 <value>7</value> 124 </enumeratedValue> 125 </enumeratedValues> 126 </field> 127 <field> 128 <name>PRES</name> 129 <description>Prescaler. Set the Timer's prescaler value. The prescaler divides the PCLK input to the timer and sets the Timer's Count Clock, F_CNT_CLK = PCLK (HZ) /prescaler. The Timer's prescaler setting is a 4-bit value with pres3:pres[2:0].</description> 130 <bitOffset>3</bitOffset> 131 <bitWidth>3</bitWidth> 132 <enumeratedValues> 133 <enumeratedValue> 134 <name>div1</name> 135 <description>Divide by 1.</description> 136 <value>0</value> 137 </enumeratedValue> 138 <enumeratedValue> 139 <name>div2</name> 140 <description>Divide by 2.</description> 141 <value>1</value> 142 </enumeratedValue> 143 <enumeratedValue> 144 <name>div4</name> 145 <description>Divide by 4.</description> 146 <value>2</value> 147 </enumeratedValue> 148 <enumeratedValue> 149 <name>div8</name> 150 <description>Divide by 8.</description> 151 <value>3</value> 152 </enumeratedValue> 153 <enumeratedValue> 154 <name>div16</name> 155 <description>Divide by 16.</description> 156 <value>4</value> 157 </enumeratedValue> 158 <enumeratedValue> 159 <name>div32</name> 160 <description>Divide by 32.</description> 161 <value>5</value> 162 </enumeratedValue> 163 <enumeratedValue> 164 <name>div64</name> 165 <description>Divide by 64.</description> 166 <value>6</value> 167 </enumeratedValue> 168 <enumeratedValue> 169 <name>div128</name> 170 <description>Divide by 128.</description> 171 <value>7</value> 172 </enumeratedValue> 173 <enumeratedValue> 174 <name>div256</name> 175 <description>Divide by 256. Additionally, TMRn->cn.pres3 must be set.</description> 176 <value>0</value> 177 </enumeratedValue> 178 <enumeratedValue> 179 <name>div512</name> 180 <description>Divide by 512. Additionally, TMRn->cn.pres3 must be set.</description> 181 <value>2</value> 182 </enumeratedValue> 183 <enumeratedValue> 184 <name>div1024</name> 185 <description>Divide by 1024. Additionally, TMRn->cn.pres3 must be set.</description> 186 <value>3</value> 187 </enumeratedValue> 188 <enumeratedValue> 189 <name>div2048</name> 190 <description>Divide by 2048. Additionally, TMRn->cn.pres3 must be set.</description> 191 <value>4</value> 192 </enumeratedValue> 193 <enumeratedValue> 194 <name>div4096</name> 195 <description>Divide by 4096. Additionally, TMRn->cn.pres3 must be set.</description> 196 <value>5</value> 197 </enumeratedValue> 198 </enumeratedValues> 199 </field> 200 <field> 201 <name>TPOL</name> 202 <description>Timer input/output polarity bit.</description> 203 <bitOffset>6</bitOffset> 204 <bitWidth>1</bitWidth> 205 <enumeratedValues> 206 <enumeratedValue> 207 <name>activeHi</name> 208 <description>Active High.</description> 209 <value>0</value> 210 </enumeratedValue> 211 <enumeratedValue> 212 <name>activeLo</name> 213 <description>Active Low.</description> 214 <value>1</value> 215 </enumeratedValue> 216 </enumeratedValues> 217 </field> 218 <field> 219 <name>TEN</name> 220 <description>Timer Enable.</description> 221 <bitOffset>7</bitOffset> 222 <bitWidth>1</bitWidth> 223 <enumeratedValues> 224 <enumeratedValue> 225 <name>dis</name> 226 <description>Disable.</description> 227 <value>0</value> 228 </enumeratedValue> 229 <enumeratedValue> 230 <name>en</name> 231 <description>Enable.</description> 232 <value>1</value> 233 </enumeratedValue> 234 </enumeratedValues> 235 </field> 236 <field> 237 <name>PRES3</name> 238 <description>MSB of prescaler value.</description> 239 <bitOffset>8</bitOffset> 240 <bitWidth>1</bitWidth> 241 <enumeratedValues> 242 <enumeratedValue> 243 <name>div1</name> 244 <description>Divide by 1.</description> 245 <value>0</value> 246 </enumeratedValue> 247 <enumeratedValue> 248 <name>div2</name> 249 <description>Divide by 2.</description> 250 <value>0</value> 251 </enumeratedValue> 252 <enumeratedValue> 253 <name>div4</name> 254 <description>Divide by 4.</description> 255 <value>0</value> 256 </enumeratedValue> 257 <enumeratedValue> 258 <name>div8</name> 259 <description>Divide by 8.</description> 260 <value>0</value> 261 </enumeratedValue> 262 <enumeratedValue> 263 <name>div16</name> 264 <description>Divide by 16.</description> 265 <value>0</value> 266 </enumeratedValue> 267 <enumeratedValue> 268 <name>div32</name> 269 <description>Divide by 32.</description> 270 <value>0</value> 271 </enumeratedValue> 272 <enumeratedValue> 273 <name>div64</name> 274 <description>Divide by 64.</description> 275 <value>0</value> 276 </enumeratedValue> 277 <enumeratedValue> 278 <name>div128</name> 279 <description>Divide by 128.</description> 280 <value>0</value> 281 </enumeratedValue> 282 <enumeratedValue> 283 <name>div256</name> 284 <description>Divide by 256. Additionally, TMRn->cn.pres3 must be set.</description> 285 <value>1</value> 286 </enumeratedValue> 287 <enumeratedValue> 288 <name>div512</name> 289 <description>Divide by 512. Additionally, TMRn->cn.pres3 must be set.</description> 290 <value>1</value> 291 </enumeratedValue> 292 <enumeratedValue> 293 <name>div1024</name> 294 <description>Divide by 1024. Additionally, TMRn->cn.pres3 must be set.</description> 295 <value>1</value> 296 </enumeratedValue> 297 <enumeratedValue> 298 <name>div2048</name> 299 <description>Divide by 2048. Additionally, TMRn->cn.pres3 must be set.</description> 300 <value>1</value> 301 </enumeratedValue> 302 <enumeratedValue> 303 <name>div4096</name> 304 <description>Divide by 4096. Additionally, TMRn->cn.pres3 must be set.</description> 305 <value>1</value> 306 </enumeratedValue> 307 </enumeratedValues> 308 </field> 309 <field> 310 <name>PWMSYNC</name> 311 <description>Timer PWM Synchronization Mode Enable.</description> 312 <bitOffset>9</bitOffset> 313 <bitWidth>1</bitWidth> 314 <enumeratedValues> 315 <enumeratedValue> 316 <name>dis</name> 317 <description>Disable.</description> 318 <value>0</value> 319 </enumeratedValue> 320 <enumeratedValue> 321 <name>en</name> 322 <description>Enable.</description> 323 <value>1</value> 324 </enumeratedValue> 325 </enumeratedValues> 326 </field> 327 <field> 328 <name>NOLHPOL</name> 329 <description>Timer PWM output 0A polarity bit.</description> 330 <bitOffset>10</bitOffset> 331 <bitWidth>1</bitWidth> 332 <enumeratedValues> 333 <enumeratedValue> 334 <name>normal</name> 335 <description>Normal output polarity.</description> 336 <value>0</value> 337 </enumeratedValue> 338 <enumeratedValue> 339 <name>invert</name> 340 <description>Inverted output polarity.</description> 341 <value>1</value> 342 </enumeratedValue> 343 </enumeratedValues> 344 </field> 345 <field> 346 <name>NOLLPOL</name> 347 <description>Timer PWM output 0A' polarity bit.</description> 348 <bitOffset>11</bitOffset> 349 <bitWidth>1</bitWidth> 350 <enumeratedValues> 351 <enumeratedValue> 352 <name>normal</name> 353 <description>Normal output polarity.</description> 354 <value>0</value> 355 </enumeratedValue> 356 <enumeratedValue> 357 <name>invert</name> 358 <description>Inverted output polarity.</description> 359 <value>1</value> 360 </enumeratedValue> 361 </enumeratedValues> 362 </field> 363 <field> 364 <name>PWMCKBD</name> 365 <description>Timer PWM output 0A Mode Disable.</description> 366 <bitOffset>12</bitOffset> 367 <bitWidth>1</bitWidth> 368 <enumeratedValues> 369 <enumeratedValue> 370 <name>dis</name> 371 <description>Disable.</description> 372 <value>1</value> 373 </enumeratedValue> 374 <enumeratedValue> 375 <name>en</name> 376 <description>Enable.</description> 377 <value>0</value> 378 </enumeratedValue> 379 </enumeratedValues> 380 </field> 381 </fields> 382 </register> 383 <register> 384 <name>NOLCMP</name> 385 <description>Timer Non-Overlapping Compare Register.</description> 386 <addressOffset>0x14</addressOffset> 387 <fields> 388 <field> 389 <name>NOLLCMP</name> 390 <description>Non-overlapping Low Compare. The 8-bit timer count value of non-overlapping time between falling edge of PWM output 0A and next rising edge of PWM output 0A'.</description> 391 <bitOffset>0</bitOffset> 392 <bitWidth>8</bitWidth> 393 </field> 394 <field> 395 <name>NOLHCMP</name> 396 <description>Non-overlapping High Compare. The 8-bit timer count value of non-overlapping time between falling edge of PWM output 0A' and next rising edge of PWM output 0A.</description> 397 <bitOffset>8</bitOffset> 398 <bitWidth>8</bitWidth> 399 </field> 400 </fields> 401 </register> 402 </registers> 403 </peripheral> 404<!-- TMR0: 32-bit reloadable timer Port 0 --> 405</device> 406