عضویت     ورود  آشتي دادن ميان مردم از هر نماز و روزه اي با ارزش تر است . حضرت علي (ع) سه شنبه، 23 مرداد ماه ، 1397

کانال تلگرام


تبلیغات متنی


منوی سایت


جست و جو در بانك مقالات




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 4818 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 4767 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 4803 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 4753 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 11164 بار]
 6: ادوات نوري 
[دفعات مشاهده : 4809 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 6387 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 6000 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 5147 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 7106 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 5862 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 13565 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 9886 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 7267 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 5400 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 5965 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 5417 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 6368 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 5099 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 5217 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 8017 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 7374 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 7386 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 5663 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 5944 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 8374 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 6963 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 6429 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 11546 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 9444 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 38796 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 17533 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 20895 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 24411 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 22063 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 24494 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 37791 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 19359 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 16589 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 20561 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]


زبان
انتخاب زبان نمایش :



مطالب جديد
· 1: Analog Interfacing to Embedded Microprocessor Systems
· 2: بررسی مشکلات شبمه های توزیع در مناطق ساحلی استان هرمزگان
· 3: FIBER OPTICS HANDBOOK
· 4: IEEE Std 1394™-2008
· 5: بازسازي رشته تصاوير دريافتي از ميان توربولانس اتمسفري با استفاده از پردازش تصوير
· 6: مدلسازي توزیعِ وظایف و محاسبهي قابلیت اطمینان در سرویسهاي گرید داراي توپولوژي ستاره
· 7: Smart Card Handbook
· 8: Microscope Image Processing
· 9: VHF COMMUNICATIONS AT RAE
· 10: معرفی و تحلیل پایداری یک الگوریتم برای تخمین n فرکانس یک سیگنال شامل مجموع سینوسها
· 11: روش جديد براي حذف هارمونيك هاي اينورتر چند سطحي توسط شبكه هاي عصبي
· 12: Joint Channel Estimation for WiMAX
· 13: آموزش ساخت مدار چاپی در خانه
· 14: A NEW AND ROBUST APPLE EVALUATION METHOD USING IMAGE PROCESSING
· 15: Comparative Analysis of a Traditional and a Novel Approach to Model Reference Adaptive Control
· 16: بكارگيري پخش توان بهينه در سيستم هاي قدرت انرژي الكتريكي با كمك الگوريتم دوگان برنامه ريزي خطي با حد
· 17: مدلسازی رياضی فيلترهای فعال قدرت بمنظور بهسازی کيفيت توان در شبکه توزيع
· 18: يك مدل فازي ارزيابي و انتخاب شايسته مدارانه نيروي انساني در سازمان بر مبناي تكنيك تصميم گيريTOPSIS
· 19: images proc fpg
· 20: PCA GAUSSIAN MIXTURE MODEL FOR TWO-DIMENSIONAL ROOT CEPSTRUM FEATURES OF SPEECH

[ آخرين مقالات ]


ارسال مقاله به سايت

 



...::: Ir-Micro.Com :::... :: View topic - برقراری 3 ارتباط سریال با ATmega16 !!!


برقراری 3 ارتباط سریال با ATmega16 !!!

 
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR Printable Version
View previous topic :: View next topic  
Author Message
maedehabibi
کاربر تازه وارد
کاربر تازه وارد

Joined: Nov 14, 2008
Posts: 5





257.70 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 31 تير ماه ، 1388 23:43:44 Reply with quote Scroll Down to Next postGo to last Post of Page

سلام؛
من برای انجام یه پروژه نیاز دارم تا با استفاده از ATmega16 سه تا ارتباط سریال برقرار کنم به این ترتیب که:
1-اطلاعات رو به صورت سریال از کامپیوتر در یافت و طبق فیلتر تعریف شده اطلاعات رو اصلاح کنه.
2-اطلاعات فیلتر شده رو، به صورت سریال ،روی یک فرستنده RF قرار بده .
3-اطلاعاتی رو که روی آنتن قرار داده به صورت سریال به کاپیوتر برگرداند تا بتوانیم بررسی کنیم که آیا اطلاعاتی که روی آنتن قرار گرفته به صورت صحیح فیلتر شده است یا خیر..
برای یکی از اینها میتوانیم از RX و TX میکرو استفاده کنیم اما برای دوتای دیگه باید به صورت نرم افزاری پایه های میکرو را به عنوان RX و TX تعریف کنیم ، اما من این کار رو بلد نیستم یعنی نمیدونم چه طوری برنامه ای بنویسم که سایر پایه های میکرو بتونن مثل RX و TX عمل کنند!!!راستی من برنامه رو با C و کامپایلر codevision نوشتم. کسی میتونه کمکم کنه... Question Question Question

Back to top
View user's profile Send private message
maedehabibi
کاربر تازه وارد
کاربر تازه وارد

Joined: Nov 14, 2008
Posts: 5





257.70 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 1 مرداد ماه ، 1388 23:07:40 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام؛
دوستان عزیز، یعنی حتی در حد یک راهنمائی کوچیک هم کسی نمیتونه به من کمک کنه؟؟؟؟؟؟؟؟
یا سوال من خیلی ساده و سطح پائینه یا خیلی سخت ،که حتی راه انجامش هم به ذهن کسی نمیاد!!!!!!!!!!!! حداقل کاش یه نفر اینو بگه ، که کدوش درسته سخت یا آسون؟؟؟؟؟؟؟؟

Back to top
View user's profile Send private message
mohjon
کاربر تازه وارد
کاربر تازه وارد

Joined: Jan 03, 2008
Posts: 1





48.70 امتیاز

Items

Status: Offline

PostPosted: جمعه، 2 مرداد ماه ، 1388 12:43:52 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

من یک بار همچین کاری کردم یعنی بدون استفاده از rx , tx بین دو میکرو اطلاعات جابجا کردم به این صورت
از ذو سیم استفاده کردم یکی کلاک و یکی داده ها
کلاک به یک وقفه وصل کردم و تو زیربرنامه وقفه صفر و یک بودن داده که به یک پایه دلخواه وصل شده بوذ را بررسی می کردم و هر وقت 8 تا داده چک شد به زیر برنامه ای دیگر می رفت و بایت اخیر را بدست می آورد به این صورت اگ وقفهه میکرو گیرنده حساس به لبه بالا و پایین رونده باشه با سرعت کلاک فرستنده اطلاعات جابجا میشه
توفرستنده هم باید بایتی که قراره فرستاده بشه به 8تا صفر و یک تبدیل بشه و یکی یکی بعد از این که لبه کلاک عوض شد روی پایه قرار گیرند برای اطمینان میتونید چند میکرو ثانیه بعد از togle شدن کلاک اطلاعات توسط گیرنده خوانده شود

Back to top
View user's profile Send private message
rezadevelop
کاربر عادی
کاربر عادی

Joined: Mar 30, 2008
Posts: 39





1395.40 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 مرداد ماه ، 1388 00:31:10 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
استید تو سایت بهتر میدونن
ولی من در حد اطلاعاتم فکر کنم بشه
با استفاده از دستور
()i2c
و یه دستور
#asm
.equ __i2c_port=0x12 ;PORTD
.equ __sda_bit=6
.equ __scl_bit=5
#endasm
تو اول برنامه پورت های مورد نظرتو برای ارتباط دو سیمه مشخص کنی.
من این کارو برا ارتباط با eeprom انجام دادم از rxوtx مخصوص میکرو هم استفاده نکردم.
یه چیزی ،برا فرستنده گیرنده از چه ماژولی استفاده کردی.
با این روش دو سیمه قاعدتاً باید از دو تا آنتن استفاده کرده باشی چون داده است صوت نیست که بتونی سوییچ کنی رو یه خط از دست رفتن بعضی هاش مهم نباشه

Back to top
View user's profile Send private message
arash_silver
کاربر تازه وارد
کاربر تازه وارد

Joined: Jul 08, 2009
Posts: 18





650.16 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 مرداد ماه ، 1388 10:09:08 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام .

من خودم می خوام کار کنم.

چند جا در مورد این ارتباطات خوندم.

1 . UART (همونی که استفاده کردی ، برای کامپیوتره)
2. ISP مثل Uart هست که با 3 سیمه

3. I2C که بردش کمه چند cm می تونی اونو بکشی.
4. 1-wire که با یک سیم ارتباط می ده و تا 30 متر می تونی بکشیش.

خودم هنوز هیچ کدومو امتحان نکردم.



Last edited by arash_silver on شنبه، 3 مرداد ماه ، 1388 15:44:16; edited 1 time in total
Back to top
View user's profile Send private message
maedehabibi
کاربر تازه وارد
کاربر تازه وارد

Joined: Nov 14, 2008
Posts: 5





257.70 امتیاز

Items

Status: Offline

PostPosted: شنبه، 3 مرداد ماه ، 1388 12:19:41 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام؛
تو تعریف پروژه از من اینطور خواستن که ازCSR Bluetooth Modules وآی سی MB-C041-SPP استفاده کنم....Data sheet این آیسی رو میتونید از سایت

قسمتBluetooth Product بخش Bluetooth Modules دریافت کنید.
از راهنماییهاتون ممنون ولی من نمیتونم ازI2C استفاده کنم Sad چون تو تعریف پروزه اینطور به من گفتن که باید 4تا از پایه های میکرو طوری برنامه ریزی بشن که مثل RX وTX عمل کنند...یعنی 2تا RX و TX دیگه تعریف کنم...باید رجیستری مثل UDR تعریف بشه که اطلاعات رو بیت به بیت بگیره بیت Stop رو تشخیص بده بعد اون بایت رو تو بافر ذخیره کنه تا در یافت اطلاعات تموم شه!!!!!!!
این یه برنامه خیلی بزرگ میشه!!!!!!!!!!!!!
یعنی این مسیری که من دارم بش فکر میکنم درسته؟؟؟؟؟؟؟؟؟؟؟؟
اگر از دوستان کسی هست که راه ساده تری میشناسه، خواهش میکنم راهنماییم کنید .... Confused Confused Confused

Back to top
View user's profile Send private message
1nafar
کاربر ماهر
کاربر ماهر

Joined: Mar 18, 2008
Posts: 1053




Location: www.1nafar.com
55594.32 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 4 مرداد ماه ، 1388 07:12:14 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
ظاهرا
ارتباط بین میکرو و کامپیوتر دو طرفه است ، میکرو اطلاعات از کامپیوتار میگیرد و سپس اطلاعات انتن را به ان میفرستد .
برای مورد بالا باید از rs232 استفاده کنید .
برای ارتباط با ماژول نیز میتونید از پروتکل spi و ماژول rfm02 یا پروتکل rs232 استفاده کنید ( ماژول rfm12 )
در rs232 نرم افزرای شما فقط میتوانید جای پایه های اولیه را عوض کنید ، ( میکرو فقط یک پروت سریال دارد و میتواند ان را به هر پایه دلخواه منتقل کنید .
----میکرو های مانند 8515 دارای دو پروت سریال هستند ، میتونید از اونا استفاده کنید .

Back to top
View user's profile Send private message Visit poster's website
rezadevelop
کاربر عادی
کاربر عادی

Joined: Mar 30, 2008
Posts: 39





1395.40 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 6 مرداد ماه ، 1388 11:40:27 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

نکته جالبیه
نمیشه چند اتصال سریال داشت تو یه micro
مگه اینکه یه برنامه برا خوندن از اون پایه بنویسی!!!! Shocked
در این صورت فکر کنم لازمه هم برای خوندن پایه ها یه محاسبه زمانی هم بکنی
و عمل BAUT RATE
رو دستی با سرعت خوندن پایه ها تنظیم کنی !!!!! Shocked
تا داده ها معتبر باشه Shocked

من زیاد به usart وارد نیستم ولی مگه نه rxوtx هم زمان داده انتقال میدن
درنتیجه اینطوری نمیشه دو برنامه برای دو پورت همزمان اجرا کرد!!!! ac) ac)

فکر من درسته یا دارم تخیلی فکر می کنم!!!!!! Shocked
اگه راهش فهمیدی به ما هم یاد بده.

atmega64 هم دو تا rx , tx داره ولی بنظرم بری سراغ همون 8515 ای که دوستمون گفت بهتره.

Back to top
View user's profile Send private message
maedehabibi
کاربر تازه وارد
کاربر تازه وارد

Joined: Nov 14, 2008
Posts: 5





257.70 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 6 مرداد ماه ، 1388 21:38:45 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام ؛
کاملاً حق با شماست و برای استفاده از دیگر پایه ها برای ارسال داده به صورت سریال باید برنامه نرم افزاری دقیقی برای اون نوشته بشه.
البته این کار شدنیه و من به محض اینکه موفق به انجامش شدم کد مورد نظر رو تو این تاپیک قرار میدم.
اما یه مشکل دیگه هست اونم اینه که من برای فیلتر کردن اطلاعاتی که به صورت سریال دریافت شده کدی که نوشتم کار نمیکنه میتونید اشکالش رو پیدا کنید؟
این کد باید اطلاعات ی که سریال دریافت شده رو فیلترکنه و بخشی از اطلاعات رو حذف کنه و نتیجه رو به صورت سریال به کامپیوتر برگردونه.
اما اطلاعات رو بر نمیگردونه!!!!!!!!!
کد:
void main(void)
{
// Declare your local variables here
char k;
int i,j;
char m[16];
.
.
.
.
while (1)
{
// Place your code here

for(i=1;i==15;i++)
{ k=getchar();
m[i]=k;
}

for(j=1;j==i;j++)
{ if(m[j]=='a'& m[j+1]=='v'& m[j+2]=='r'& m[j+3]=='c'& m[j+4]=='o')

m[j]=' ';
m[j+1]=' ';
m[j+2]=' ';
m[j+3]=' ';
m[j+4]=' ';

}
for(i=1;i==15;i++)
// {r=m[i];
putchar(m[i]);
// }

delay_ms(200);
};
}

Back to top
View user's profile Send private message
Hamed
مدیر سایت - Site Admin
مدیر سایت - Site Admin

Joined: Mar 10, 2006
Posts: 1351




Location: تهران
702870.36 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 8 مرداد ماه ، 1388 22:54:20 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
ارتباط سریال آسنکرون یا UART یا همون پروتکل RS232 تو میکروها به صورت سخت افزاری (ماژول usart) یا نرم افزاری ایجاد میشه که تا جایی که خاطرم هست avr یک ماژول ارتباط سریال داره . پس یک قسمت از پروه با این ماژول راه اندازی میشه و حسنش اینه که اطلاعات رو حاضر آماده میده و نیاز به سرکشی مداوم نداره .
کانال بعدی هم که باید به صورت نرم افزاری انجام بشه به چند چیز نیاز داره . اولین مورد تشخیص بیت شروع هست که برای اطمینان بیشتر و عدم مشغولیت کامل میکرو می تونید از وقفه خارجی استفاده کنید که فقط وقتی که بیت شروع آشکار شد میکرو وارد بخش دریافت بشه .
برای ارسال هم چون زمان دست خودتون هست که کی ارسال کنید از این نظر مشکلی ندارید .
مورد بعدی یک شمارنده هست که تعداد بیت های دریافتی رو بشماره تا پس از کامل شدن داده پایه وقفه مجدد آماده دریافت بیت شروع بعدی بشه و اطلاعات هم پردازش بشه .
و یک رجیستر با تعداد بیت 8 یا 16 (بسته به نوع ارسال یا دریافت) که نقش شیفت رجیستر ورودی رو بازی کنه که اطلاعات بیت به بیت وارد اون بشه یا بیت بهبیت ازش خونده و به خروجی ارسال بشه .
و مهمترین مورد لازم هم ایجاد تاخیر لازم برای تشخیص زمان نمونه برداری از پایه ورودی یا ارسال بیت بعدی به پایه خروجی هست که باید خیلی دقیق باشه تا خطایی رخ نده .

سوای تمام این موراد وقتی با کامپیوتر یا ... کار می کنید علاوه بر یکسان بودن سرعت ، مورادی مثل پلاریته ارسال (مثبت یا منفی بودن) و انتقال 8 یا 9 بیتی هم باید با هم منطبق باشه و گرنه اطلاعاتی که دریافت یا ارسال می کنید معتبر نخواهند بود .


__________________

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
rezadevelop
کاربر عادی
کاربر عادی

Joined: Mar 30, 2008
Posts: 39





1395.40 امتیاز

Items

Status: Offline

PostPosted: شنبه، 17 مرداد ماه ، 1388 03:12:28 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

بنظرم این دستور غلط باشه
m[i]=k
چون این یعنی بریز تو بایت iام
فکر کنم اینجوری درست شه

m[]=k

فکر کنم شما به آرایه دو بعدی نیاز دارید

Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 24 مرداد ماه ، 1388 21:57:35 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام دوستان
من عذر میخوام که چند وقته که توی سایت نیستم .
حتما خوب میدونید ماجرای گرفتاریه سعادتمندم رو ...

دوست خوبم
اولا شما برای انتقال داده در فضا حتما باید از پروتکلی استفاده کنید که از نظر سیگنالی آسنکرون باشه و به عبارتی فقط نیاز به یک خط انتقال داشته باشه که بهترین گزینه همین سریال 232 هست .
نکته ی بعدی ضمن تشکر از سعید جان که به خوبی نت رو داره می ترکونه ، اینه که به نظر من برای این تعریفی که اول تاپیک صورت گرفته نیاز به 2 درگاه سریال هست و نه 3 تا . چون که برای هر دو ارتباطی که قراره با کامپیوتر برقرار بشه میشه از یه درگاه استفاده کرد .

برای ایجاد درگاه های نرم افزاری پیشنهاد میکنم خودتون اقدام به این کار نکنین و از لایبرری های آماده استفاده کنین که معمولا توی زبان بیسیک به وفور پیدا میشه ولی اگه درست خاطرم مونده باشه کدویژیون هم این لایبرری رو داره . ( ببخشید زیادی از کدنویسی فاصله گرفتم ! البته کارا راست وریست بشه باز ...)

من سابقا مشکلم با نیاز به تعدد درگاه رو با سویچ مرتفع کردم .
دستگاهی بود که هم میبایست به کامپیوتر متصل میشد ، هم کی بورد می پذیرفت و هم دیتا رو به آنتن می فرستاد و این مشکل ساز بود . اون هم با مگا 8
من واسه ی این کار از بافر های 3 حالته استفاده کردم و با اون یه مولتی پلکسر دو طرفه درست کردم ( یه لاین برای رسیو و یه لاین برای ترانس ) که توسط میکرو کنترل میشد و هر بار یکی از موراد مورد نظر رو ایجاب میکرد .

ایراد این روش غیر همزمان بودنشه . ینی نمیشه همزمان انتقال داشت و باید یک مدیریت انتقال همراه با اولویت واسش نوشت .

به درد خورد ؟
می بخشی که پیغامت رو دیر خوندم .

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 24 مرداد ماه ، 1388 22:04:09 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

ضمنا
من نمی دونم این مورد اخیر چی چی بوده جریانش ولی کمی توضیح بدم :


Quote:
بنظرم این دستور غلط باشه
m[i]=k
چون این یعنی بریز تو بایت iام
فکر کنم اینجوری درست شه

m[]=k

فکر کنم شما به آرایه دو بعدی نیاز دارید


دوست من ،

اگه می خواید یه متغیر داده رو توی یه آرایه بریزید :
m[i]=k

اگه می خواید آدرس آرایه رو توی یه اشاره گر بریزید : (k اشاره گر و m آرایه )
(m[]=k غلطه)
فقط کافیه بنویسید :
k=m

و برای آدرس خانه های بعدی آرایه فقط کافیه بنویسید :
k=m+2

و به طور کلی :
k=m+i
که در اینجا i متغییر داده هست .

به طور کلی بچه ها ذکر نام آرایه بدون کروشه به منزله ی آدرس اولین خونه ی آرایه هست .

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
abtin_st
کاربر تازه وارد
کاربر تازه وارد

Joined: Aug 18, 2008
Posts: 8




Location: کرج
326.42 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 25 مرداد ماه ، 1388 12:28:45 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام، فکر کنم یه راه حل سخت افزاری هم داشته باشه، اونم اینه که پایه‌های rx , tx رو به ورودی یه دمولتی پلکسر دوبل 1 به 2 یا 1 به 4 وصل کنیم و پایه های set ش رو به پایه‌های میکرو، وقتی که کار با یه ماژول تموم میشه (تا زمانی که لازم باشه دستور بعدی به ماژول ارسال بشه) سریال میکرو رو به ماژول دیگه وصل کنیم ( با استفاده از همون پایه‌های set )
راستش خودم امتحان نکردم ولی عملی به نظر میاد
به هر حال حتما باید یه راهی باشه جون میکرو ها معمولا یکی و حداکثر 2 تا پورت سریال دارن که برای یه سری از کارا ممکنه کافی نباشه. در غیر اینصورت باید رفت سراغ پروسسور و مشکلات خاص خودش

Back to top
View user's profile Send private message
rezadevelop
کاربر عادی
کاربر عادی

Joined: Mar 30, 2008
Posts: 39





1395.40 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 27 مرداد ماه ، 1388 14:27:38 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

saleh_chz wrote:
ضمنا
دوست من ،

اگه می خواید یه متغیر داده رو توی یه آرایه بریزید :
m[i]=k

اگه می خواید آدرس آرایه رو توی یه اشاره گر بریزید : (k اشاره گر و m آرایه )
(m[]=k غلطه)
فقط کافیه بنویسید :
k=m

و برای آدرس خانه های بعدی آرایه فقط کافیه بنویسید :
k=m+2

و به طور کلی :
k=m+i
که در اینجا i متغییر داده هست .

به طور کلی بچه ها ذکر نام آرایه بدون کروشه به منزله ی آدرس اولین خونه ی آرایه هست .

زنده باد


بله دوست عزیز شما درست میگین
تو ذهن من این بود که مثلاً یک کلمه (نه حرف ) تو آرایه بریزن
حالا که حرفش شد یه سوال ! آرایه دوبعدی اینجوری تو codevision جواب میده
M[i,j]


حامد میشه یه مثال بزنی که چطوری نرخ نمونه برداری رو تنظیم کنیم
مثلاً باید یه loop بنویسیم که مثلاً 12 بار تکرار بشه (برای ورودی 12 بیتی ) بعد توش تاخیر بزاریم برا تنظیم زمان نمونه گیری یا تکنیک خاصی خود avr داره
یه چیز دیگه موقعی که میکرو گیر یه پورته ، بقیه ، داده هاشون نباید بیان وگرنه تلف میشن!؟


در مورد روش سخت افزاری ممکنه بشه از روش سوییچ کردن بین خطوط با مولتی پلکسر ( دوطرفه در صورت نیاز ) استفاده کرد

Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 31 مرداد ماه ، 1388 12:26:47 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام

دوست خوبمون maedehabibi مشکلشون حل شد ؟

Neutral

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
maedehabibi
کاربر تازه وارد
کاربر تازه وارد

Joined: Nov 14, 2008
Posts: 5





257.70 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 1 شهريور ماه ، 1388 00:31:45 Reply with quote Go to Top of PageScroll Up to Previous post

سلام
دوستان عزیز از کمک و راهنمایی های همتون سپاسگذارم.
آقای صالح از شما هم متشکرم که پیگیر حل مشکلات بچه ها هستین.
به همه قول میدم به محض اینکه موفق شدم این کار رو تموم کنم ، تمام توضیحات و کدهاش رو تو همین تاپیک قرار بدم.
امیدوارم همتون موفق باشید.
ممنون و متشکرم.

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR All times are GMT + 3.5 Hours
Page 1 of 1
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

 
 Jump to:   

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts آخرین نسخه از CodeVision AVR ؟ 4 azarmehr 5719 چهارشنبه، 19 فروردين ماه ، 1388 17:27:42
pedram2u View latest post
No new posts Codevision 1 oOlsamsamlOo 2807 شنبه، 11 خرداد ماه ، 1387 21:29:17
saleh_chz View latest post
No new posts بررسي timer در codevision 2 explode1331 4535 چهارشنبه، 22 اسفند ماه ، 1386 06:48:28
aheidarnejad View latest post
No new posts راه اندازی lcd گرافیکی در codevision برای نمایش حروف چگونه ا 6 kolina 8852 سه شنبه، 14 اسفند ماه ، 1386 23:30:33
yashar666 View latest post
No new posts شناختن پروگرمر با bascom و نشناختنش با codevision 16 alonenic 8595 جمعه، 14 دي ماه ، 1386 14:29:11
ghaheri View latest post
 


Powered by phpBB © 2001, 2008 phpBB Group

Ported to Platinum 7.6.b.4 V2 by sadeghkhafan

فروشگاه تخصصی برق و الکترونیک ایران میکرو
www.iran-micro.com
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
Powered by Platinum 7.6.b.4 v2
Powered by Platinum 7.6.b.4 v2 Persian

مدت زمان ایجاد صفحه : 0.21 ثانیه