سلام
دست همگی درد نکنه
برنامه خاصی نیست. اینم یه نمونه که روی همه پورت ها یکی یکی چک کردم:
کد:
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
#ifndef F_CPU
#define F_CPU 1000000
#endif
#define master_off PORTD&=~(1<<PD2)
#define master_on PORTD|=(1<<PD2)
int main (void)
{
void init(void);
while(1){
//master_on;
PORTA = 0xff;
//PORTB = 0xff;
//PORTC = 0xff;
//PORTD = 0xff;
_delay_ms(500);
//master_off;
//PORTD = 0x00;
PORTA = 0x00;
//PORTB = 0x00;
//PORTC = 0x00;
_delay_ms(500);
}
return 0;
}
void init (void)
{
// Enable Interrupts
sei();
DDRA = 0xff;
PORTA = 0xff;
DDRB = 0xff;
PORTB = 0x00;
DDRC = 0xff;
PORTC = 0x00;
DDRD = 0xff;
PORTD = 0xff;
}
در مورد پورت سی هم برای اطمینان خودم فیوز رو d9 گذاشتم یعنی بیت 7 که مربوط به jtag بود رو غیر فعال کردم ولی مشکل هنوز باقی موند.
خروجی usbasp 5 ولت که می دم به avr اما خروجی avr کمتر ا ز2 ولته!
فقط می مونه
کد:
..منظورم avcc , agnd هست
که الان دسترسی ندارم در اولین فرصت چک می کنم خدمتتون نتیجه رو عرض می کنم ولی فکر نکنم به این خاطر باشه چون مگا 8 داره جواب میده!
راستی یه سوال کسی از دوستان usbasp الان داره می تونه ببینه بعد از پروگرام کردن آیا پورتی که برای ریست انتخاب شده هنوز خروجی داره یا نه؟ منظورم پورت 16 توی این عکسه، برای من یه جورایی مشکوک شده:
http://www.fischl.de/usbasp/bilder/usbasp_circuit.png