پاسخ : درخواست کمک، مدولاسیون fsk با AVR
اولی رو درست کردم.
دومی رو آخر سر انجام میدم چون تو مداری که ساختم دستی پایه هارو یک و 0 میکنم ببینم درست کار میکنه یا نه بعد مشکل آنالوگش رو حل میکنم.
سوم هم چون تو فرستنده مشخص کردم که هر سینوسی 100 میلی ثانیه طولش باشه تو گیرنده هم گفتم هر 100 میلی ثانیه یه بار فرکانس رو اندازه بگیر. راستش مورد سوم رو کار دیگه ای بلد نیستم انجام بدم. این هدری که میگید باید به اولو آخر بیتهام یه سری بیت مشحص اضافه کنم؟ مثلا 3تا یک؟
برنامه گیرندم به این صورته:
البته این برای پایه صفرمه همین کدهارو برای 7 پایه دیگه تکرار کردم.
پارامتر a هم با سعی و خطا یه مقداری براش بدست میارم.
نوشته اصلی توسط marychi
دومی رو آخر سر انجام میدم چون تو مداری که ساختم دستی پایه هارو یک و 0 میکنم ببینم درست کار میکنه یا نه بعد مشکل آنالوگش رو حل میکنم.
سوم هم چون تو فرستنده مشخص کردم که هر سینوسی 100 میلی ثانیه طولش باشه تو گیرنده هم گفتم هر 100 میلی ثانیه یه بار فرکانس رو اندازه بگیر. راستش مورد سوم رو کار دیگه ای بلد نیستم انجام بدم. این هدری که میگید باید به اولو آخر بیتهام یه سری بیت مشحص اضافه کنم؟ مثلا 3تا یک؟
برنامه گیرندم به این صورته:
کد:
{ TCCR0=0x06; // Start Timer T0 pin Falling Edge //0 #asm("sei") // Global enable interrupts delay_ms(100); #asm("cli"); // Global disable interrupts in_freq = timer0_ov * 256 + TCNT0; sprintf(lcd_buff,"%d",in_freq); lcd_puts(lcd_buff); if (in_freq>a) { PORTD.0=1; } else if (in_freq<a) { PORTD.0=0; } TCCR0=0x00; //Stopt Timer0 timer0_ov=0; //Prepare for next count TCNT0=0; //Clear Timer0 };
پارامتر a هم با سعی و خطا یه مقداری براش بدست میارم.
دیدگاه