سلام به همه
برنامه ای رو که این پایین میزارم بدون ایراد کامپایل شده حالا وقتی با پروگرامر usb دار (با نرم افزار iprog) میخوام پروگرام میکنم نمیشه و پیغام not connect to flash memory
رو میده اما برای بقیه ی برنامه هایی که دارم این طور نیست و خوب پروگرام میشه :eek:
فرکانس میکرو رو 16 هست تو نرم افزار هم گذاشتمش رو 16 و همه چیز خوبه اما نمیدونم چرا این پیغام رو میده
حجم برنامه هم خیلی کمه و با 4 تا میکرو مگا 8 چندین بار امتحان کردم همشون همین پیغام not connect to flash memory رو میده :angry: :angry:
کامپیوتر رو ریست کردم ولی بازم همینه :cry2:
فیوز بیت ها هم درست هستند
همین برنامه که دارم میگم تو پروتیوس خوب جواب میده !!!!!!
فکر میکنید مشکل از کجاست ؟
[code=c]#include <mega8.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
bit parity=1 , p_parity=1 , data_send=1;
unsigned char bit_count=0 , buffer_data_send;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
bit_count++;
if ( p_parity & data_send )
{
if ( bit_count == 1 )
PORTD.3=0;
if ( bit_count > 1 && bit_count < 10 )
{
if ( buffer_data_send & 0b00000001 )
{
PORTD.3=1;
parity = ~parity;
}
else
PORTD.3=0;
buffer_data_send >> 1;
}
if ( bit_count == 10 )
{
if ( parity )
PORTD.3=1;
else
PORTD.3=0;
}
if ( bit_count == 11 )
{
PORTD.3=1;
}
if ( bit_count == 12 )
{
PORTD.3=0; // ACK BIT
data_send=0;
bit_count=0;
parity=1;
GICR|=0x40;
PORTB.1=1;
}
}
if ( data_send )
{
PORTD.2=~PORTD.2;
p_parity=~p_parity;
}
}
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
PORTD=0x0C;
DDRD=0x0C;
TCCR0=0x03;
TCNT0=0x00;
TIMSK=0x01;
ACSR=0x80;
while (1)
{
}
}
[/code]
برنامه ای رو که این پایین میزارم بدون ایراد کامپایل شده حالا وقتی با پروگرامر usb دار (با نرم افزار iprog) میخوام پروگرام میکنم نمیشه و پیغام not connect to flash memory
رو میده اما برای بقیه ی برنامه هایی که دارم این طور نیست و خوب پروگرام میشه :eek:
فرکانس میکرو رو 16 هست تو نرم افزار هم گذاشتمش رو 16 و همه چیز خوبه اما نمیدونم چرا این پیغام رو میده
حجم برنامه هم خیلی کمه و با 4 تا میکرو مگا 8 چندین بار امتحان کردم همشون همین پیغام not connect to flash memory رو میده :angry: :angry:
کامپیوتر رو ریست کردم ولی بازم همینه :cry2:
فیوز بیت ها هم درست هستند
همین برنامه که دارم میگم تو پروتیوس خوب جواب میده !!!!!!
فکر میکنید مشکل از کجاست ؟
[code=c]#include <mega8.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
bit parity=1 , p_parity=1 , data_send=1;
unsigned char bit_count=0 , buffer_data_send;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
bit_count++;
if ( p_parity & data_send )
{
if ( bit_count == 1 )
PORTD.3=0;
if ( bit_count > 1 && bit_count < 10 )
{
if ( buffer_data_send & 0b00000001 )
{
PORTD.3=1;
parity = ~parity;
}
else
PORTD.3=0;
buffer_data_send >> 1;
}
if ( bit_count == 10 )
{
if ( parity )
PORTD.3=1;
else
PORTD.3=0;
}
if ( bit_count == 11 )
{
PORTD.3=1;
}
if ( bit_count == 12 )
{
PORTD.3=0; // ACK BIT
data_send=0;
bit_count=0;
parity=1;
GICR|=0x40;
PORTB.1=1;
}
}
if ( data_send )
{
PORTD.2=~PORTD.2;
p_parity=~p_parity;
}
}
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
PORTD=0x0C;
DDRD=0x0C;
TCCR0=0x03;
TCNT0=0x00;
TIMSK=0x01;
ACSR=0x80;
while (1)
{
}
}
[/code]
دیدگاه