[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Uisp-dev] uisp
From: |
Mattias Svensson |
Subject: |
[Uisp-dev] uisp |
Date: |
Wed, 09 Oct 2002 21:47:27 +0200 |
I stumbled across a little typo in "DAPA.C" line 429,
************************
002 * $Id: DAPA.C,v 1.4 2002/06/13 13:17:24 marekm Exp $
428 case PAT_BSD:
429 if (b) par_data |= BSD_RESET; else par_data &= BSD_RESET;
430 ParportWriteData();
431 break;
************************
429 should be: if (b) par_data |= BSD_RESET; else par_data &=
~BSD_RESET;
Now the /RESET signal should work as intended.
I noticed this when I was trying to make my newly soldered BSD type
programming cable work.
The /RESET signal from parport signal D5 was just dead, always high.
When I removed the /RESET signal from the prog. cable and grounded
/RESET on the AVR, cable worked limited to manual /RESET operation.
Anyway, this is a good example of why one should not practice "Cut and
Paste Programming" =). Every other case in the switch statement had the
bitwise not operator.
I built a simple level converter for my programmer to be able to have
different target and programmer voltage, ultimately it should also be
opto isolated.
I used a coulpe of inverters and transistors to shift voltage levels for
/RESET, MOSI, MISO and SCK. The programmer side takes 5V from the
parport, and the target side is given Vtarget. Now I am using
Vtarget=3.3V but it could also be lower.
Is there any standard for the pinning on the programming header?
My guess would be the cable supplied from ATMEL, but I don't own any. It
would be nice with an interface on the board that is "standard", it will
make support of the design easier in the future.
Regards:
Mattias Svensson, Sweden
- [Uisp-dev] uisp,
Mattias Svensson <=