} }MACROE\r
\r
/* Inline Functions: */\r
- /** Function for reliably setting the AVR's system clock prescaler, using inline assembly. This function\r
- * is guaranteed to operate reliably regardless of optimization setting or other compile time options. \r
- *\r
- * \param PrescalerMask The mask of the new prescaler setting for CLKPR\r
- */\r
- static inline void SetSystemClockPrescaler(uint8_t PrescalerMask)\r
- {\r
- uint8_t tmp = (1 << CLKPCE);\r
- __asm__ __volatile__ (\r
- "in __tmp_reg__,__SREG__" "\n\t"\r
- "cli" "\n\t"\r
- "sts %1, %0" "\n\t"\r
- "sts %1, %2" "\n\t"\r
- "out __SREG__, __tmp_reg__"\r
- : /* no outputs */\r
- : "d" (tmp),\r
- "M" (_SFR_MEM_ADDR(CLKPR)),\r
- "d" (PrescalerMask)\r
- : "r0");\r
- }\r
-\r
/** Function to reverse the individual bits in a byte - i.e. bit 7 is moved to bit 0, bit 6 to bit 1,\r
* etc.\r
*\r