با سلام خدمت اساتید
من همه تاپیک ها رو نگاه کردم مشکلی مثل مشکل من نبود
من از یک مگا 64 استفاده می کنم و هر دو USART رو باهاش کار میکینم
یکیش با سیم وصله به یک مگا 64 دیگه و یک USART هم رو وصل کردم به یک ماژول HM_R در برنامه
2 تا تابع گذاشتم به شکل زیر
void Data_in (void)
{
char recive=0;
if(rx_counter1!=0)recive=getchar1();
Lcd_Data=recive;
}
void Remot_in(void)
{
int Recive,i;
char j;
if(rx_counter0!=0) Remot_command[Remot_Data]=getchar();
}
تابعی که USART1 رو می خونه مشکلی نداره چون با سیمه
ولی در تابع دیگه همش از گیرنده چرت وپرت مریزه تو متغییر
اگر هم rx_counter رو دستکاری نکنم مشکل این که هر دو هم زمان با هم کار نمیکنند
حالا مشکل اینجاست من اومدم فرمان دادم به چند تا رله و چون گیرنده داره دائم عدد میریزه رو USART
تو بازه زمانی مختلف رله ها خود به خود قطع و وصل میشن و وقتی از فرستنده میفرستم درست عمل میکنند
ولی به خودی خود رله ها پالس میدن
حالا از دوستانی که این مشکل رو حل کردن خواهش میکنم راهنماییم کنن
بازم ممنونم
من همه تاپیک ها رو نگاه کردم مشکلی مثل مشکل من نبود
من از یک مگا 64 استفاده می کنم و هر دو USART رو باهاش کار میکینم
یکیش با سیم وصله به یک مگا 64 دیگه و یک USART هم رو وصل کردم به یک ماژول HM_R در برنامه
2 تا تابع گذاشتم به شکل زیر
void Data_in (void)
{
char recive=0;
if(rx_counter1!=0)recive=getchar1();
Lcd_Data=recive;
}
void Remot_in(void)
{
int Recive,i;
char j;
if(rx_counter0!=0) Remot_command[Remot_Data]=getchar();
}
تابعی که USART1 رو می خونه مشکلی نداره چون با سیمه
ولی در تابع دیگه همش از گیرنده چرت وپرت مریزه تو متغییر
اگر هم rx_counter رو دستکاری نکنم مشکل این که هر دو هم زمان با هم کار نمیکنند
حالا مشکل اینجاست من اومدم فرمان دادم به چند تا رله و چون گیرنده داره دائم عدد میریزه رو USART
تو بازه زمانی مختلف رله ها خود به خود قطع و وصل میشن و وقتی از فرستنده میفرستم درست عمل میکنند
ولی به خودی خود رله ها پالس میدن
حالا از دوستانی که این مشکل رو حل کردن خواهش میکنم راهنماییم کنن
بازم ممنونم
دیدگاه