I have prepared a PCB using ATmega64A, as there was a third-party core providing support for this IC "MegaCore".
The problem is, I am able to download the program but the IC is not able to execute even simple commands like set a pin to high level, it remains in tri-state.
When I upload a normal avr program using Atmel Studio the IC executes these insructions.
When I prepare the same program for Arduino Uno using the Arduino IDE and test it on an Arduino Uno, it works.
I tried reinstalling the MegaCore, but still no result.
P.S. : I am using usbasp programmer to burn my hex file directly into the chip.
Please do this:
- Connect an LED or voltmeter to pin PB5 of your ATmega64
- File > Examples > 01.Basics > Blink
- Sketch > Upload
After the Upload is complete PB5 (AKA LED_BUILTIN or Arduino pin 13) should be toggling between LOW and HIGH.
Thanks for the reply Pert, I have tried it and tried it again after you said, but still same. It shows me 1.3V approx. I am running the IC on 3.3V.
Does it show the 1.3 V consistently or are you seeing it periodically going from 0 V to 1.3 V (with a frequency of 0.5 Hz if the clock is right)?
It is consistent and when my pin goes high it should show around 3.3V which it does when I upload an AVR code.
Unfortunately I don't own an ATmega64A. However, I did just test the latest version of MegaCore with an ATmega128A and blinking Arduino pin 13 is working as expected.
I just hooked up my MegaCore development board with the ATmega64A inserted. Works like a charm when using USBasp and uploading using the USB to serial interface. I suspect you have a hardware issue because there's nothing wrong with MegaCore..
The yellow LED is connected to digital pin 13 (PB5). The ATmega64A is running the Blink.ino sketch, uploaded with USBasp. The ATmega64A is running at 16 MHz by the way.