Fixed ISP mode in the AVRISP programmer project.
[pub/lufa.git] / Projects / AVRISP / Lib / ISP / ISPProtocol.h
index abbbf56..127c826 100644 (file)
@@ -38,6 +38,7 @@
 \r
        /* Includes: */\r
                #include <avr/io.h>\r
+               #include <util/delay.h>\r
                \r
                #include <LUFA/Drivers/USB/USB.h>\r
 \r
                #define PROG_MODE_COMMIT_PAGE_MASK      (1 << 7)\r
 \r
        /* Inline Functions: */\r
-               /** Blocking delay for a given number of milliseconds, via a hardware timer.\r
+               /** Blocking delay for a given number of milliseconds.\r
                 *\r
                 *  \param[in] DelayMS  Number of milliseconds to delay for\r
                 */\r
                static inline void ISPProtocol_DelayMS(uint8_t DelayMS)\r
                {\r
-                       OCR2A  = ((F_CPU / 64) / 1000);\r
-                       TCCR2A = (1 << WGM01);\r
-                       TCCR2B = ((1 << CS01) | (1 << CS00));                   \r
-\r
-                       while (DelayMS)\r
-                       {\r
-                               if (TIFR2 & (1 << OCF2A))\r
-                               {\r
-                                       TIFR2 = (1 << OCF2A);\r
-                                       DelayMS--;\r
-                               }\r
-                       }\r
-                       \r
-                       TCCR2B = 0;                     \r
+                       while (DelayMS--)\r
+                         _delay_ms(1);\r
                }\r
 \r
        /* Function Prototypes: */\r