Change AVRISP project's timeout to be interrupt based again, but make the interrupt itself interruptable and use a seperate assembly file to hand-optimize the ISR code.

Removed the cast to uint16_t on the set baud rate in the USBtoSerial project, so that the higher >1M baud rates can be selected (thanks to Steffan).
This commit is contained in:
Dean Camera 2010-05-02 05:16:34 +00:00
parent 9a1560dc05
commit 3d28d53c3e
11 changed files with 66 additions and 117 deletions

View file

@ -124,13 +124,6 @@ uint8_t ISPTarget_WaitForProgComplete(const uint8_t ProgrammingMode, const uint1
case PROG_MODE_PAGED_VALUE_MASK:
do
{
/* Manage software timeout */
if (TIFR0 & (1 << OCF0A))
{
TIFR0 |= (1 << OCF0A);
TimeoutMSRemaining--;
}
SPI_SendByte(ReadMemCommand);
SPI_SendByte(PollAddress >> 8);
SPI_SendByte(PollAddress & 0xFF);
@ -162,13 +155,6 @@ uint8_t ISPTarget_WaitWhileTargetBusy(void)
{
do
{
/* Manage software timeout */
if (TIFR0 & (1 << OCF0A))
{
TIFR0 |= (1 << OCF0A);
TimeoutMSRemaining--;
}
SPI_SendByte(0xF0);
SPI_SendByte(0x00);
SPI_SendByte(0x00);