PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ارتباط سریال میکرو و کلمپیوتر usart



fatemehjml
24-07-2010, 17:46
با سلام

من دارم روی ارتباط سریال میکرو با کامپیوتر کار می کنم. برنامه ام هم دقیقا همون برنامه ای است که در pmm6,7 برای ارتباط سریالusart میکرو بود.
از نظر سخت افزاری هم از تراشه ی MAX232CPE استفاده کردم. و از پایه های میکرو هم فقط پایه های txd0,rxd0 یعنی pa0,pa1 را به تراشه وصل کردم. پورت com کامپیوتر را هم امتحان کردم سالم بود.
وقتی hyper terminal را با این تنظیمات، باز می کنم
baud rate: 9600, com1, 8 bit data, 1 stop bit, no parity, flow control: none
یا هیچ کاراکتری نمی بینم و یا به ندرت کاراکترهای نامفهوم روی صفحه می بینم. با محیطterminal emulator Bascom هم کار کردم ولی همین جواب را می گیرم.

به نظر شما مشکل از کجاست!؟

armstk
24-07-2010, 18:49
سلام
منم قبلا مشکلاتی مشابه داشتم نمی دونم چطوری رفعش کردم!
به هر حال نگاه کنین ببینین چای سیم های rxd و txd هم قبل و هم بعد از max232 رو معکوس وصل نکردین؟
max232 که استفاده میکنین سالم هستش؟

Aghaeifar
24-07-2010, 22:07
برای این جور موارد که مطمئن شید ایراد از max232 و مدار اون هست یا نه بهتره یه ماژول Usb2serial مثل این (You can see links before reply) تهیه کنید و بررسی کنید.

fatemehjml
24-07-2010, 23:21
ببخشید، آیا اشکال می تونه از این باشه که من توی ارتباط سریال usart0 فقط از دو پایه ی rxd0,txd0 استفاده کردم و به سایر پایه های کنترلی دست نزدم.
در ضمن من بارها پایه ها را چک کردم و تراشه را هم تعویض کردم ولی همچنان جواب نمی گیرم.

armstk
25-07-2010, 00:14
سلام
شما برای ارتباط usart با سرعت پایین با همون دو تا کنترلر rxd و txd کار کنین کافیه

اول پایه های rxd و txd پورت سریال خودتون رو اتصال کوتاه و برین توی هایپر ترمینال ببینین وقتی نوشته ای مینویسین اونو نمایش میده؟
بعد همین کار رو بعد از تبدیل سطح منطقی ولتاژ(بعد از max232 )رو امتحان کنین

اگر این کار رو کنین و نوشته ها رو نمایش بده مطمئنا پورت سریال و max232 شما مشکلی نداره و مشکل برمیگرده به برنامه و یا سخت افزار شما

fatemehjml
25-07-2010, 14:42
تست آخری که گفته بودید را انجام دادم. هم MAX سالم بود و هم پورت سریال. هر داده ای که ارسال می کردم همون رو هم دریافت می کردم.
من از برد آموزشی ARM کویرالکترونیک استفاده می کنم و برنامه های مختلف ارسال داده ی سریال usart رو هم تست کردم ولی هیچ کدومشون جواب ندادند.
یه برنامه ی چشمک زن برای PA0,PA1 هم نوشتم و این برنامه ها هم جواب دادندو من فهمیدم که پایه ها مشکلی ندارند. ولی هنوز از ارتباط سریال کوچکترین جوابی نگرفتم با این حال که روی این برنامه ی ساده الان 5 روز که دارم کامل کار می کنم.

1nafar
28-07-2010, 20:49
سلام
طبق صحبت های که انجام شد ، معلوم شد که توی هدر usart یه مشکل کوچیک وجود داره .
شما میتونید هدر تغییر یافته + یه پروژه رو از فایل پیوست دانلود کنید :

mhz_electronic
27-11-2010, 10:52
من هم بخشی از پروژم مربوط به ارتباط سریال با کامپیوتر هست ببینید شما مدار max232 که تو کتاب 8051 هست ببندید و از هدر جدیدی که دوستمون 1nafar گذاشته در kell استفاده کنین اینشالله مشکلتون حل شه من خوئم هم همین مشکل رو داشتم.

mhz_electronic
28-11-2010, 10:37
من میخواستم کیبورد کامپیوتر را به میکرو arm-7x-256 وصل کنم یکی از دوستان پیشنهاد دادند که با UART میتونم این کارو بکنم سوال من اینجاست که باید به کدام پایه میکرو وصل کنم و اینکه مدار واسط میخواد یا نه چون با توجه به اینکه خروجی کیبورد یه پایه کلاک هم داره.من تو دیتا شیت که نگاه کردم بخش UART یه مقدار به واحد debug uonit ربط داشت پس یعنی اینکه من باید پایه دیتا کیبورد رو به پایه گیرنده واحد دباگ یونیت وصل کنم و پایه کلاک آن را به یه وقفه خارجی؟؟؟؟ یه سوال من هم ای هست آیا میشه کیبورد رو به واحد USART میکرو وصل کرد و باز هم میخواد مدار واسط وصل کنیم .متشکر میشم اگه دوستان راهنمایی کنن چون شدیدیا نیاز دارم متشکر از تمامی کاربران عزیز و مدیران محترم سایت.:mrgreen:

fatemehjml
28-11-2010, 12:14
سلام
داخل این پست (You can see links before reply) نکات سودمندی وجود داره که حتما به دردتون می خوره. البته از AVR استفاده کرده که فکر می کنم اگه تونسته باشید قسمت USART میکرو SAM رو راه اندازی کنید مشکلی نداشته باشید.
موفق باشید.

hadikamalabad
06-07-2013, 15:20
مشکل در یکی نبودن تغذیه است.(زمین ها باید یکی باشند)

ahansazan
31-08-2013, 03:20
سلام من 2تا کد نوشتم که اولی می خوام یه عدد رو بشماره و تو دومی دمای lm35 رو نشون بده ولی تو هر دو یا نشون نمیده یا یه چیز بی ربط نشون میده کد رو میزارم اگه کسی تونست راهنماییم کنه ممنون می شم
for(i=0;i<=20;i++){
data=i;
pintf(buffer,"data=%d"/n);
delay_ms(1000);


data=read_adc(5);
sprintf(buffer,"%d.%d",data/4,5*(data%2));
lcd_gotoxy(5,1);
lcd_puts(buffer);
printf(buffer,temp=%u.%u);

amiray
31-08-2013, 22:26
سلام من 2تا کد نوشتم که اولی می خوام یه عدد رو بشماره و تو دومی دمای lm35 رو نشون بده ولی تو هر دو یا نشون نمیده یا یه چیز بی ربط نشون میده کد رو میزارم اگه کسی تونست راهنماییم کنه ممنون می شم
for(i=0;i<=20;i++){
data=i;
pintf(buffer,"data=%d"/n);
delay_ms(1000);


data=read_adc(5);
sprintf(buffer,"%d.%d",data/4,5*(data%2));
lcd_gotoxy(5,1);
lcd_puts(buffer);
printf(buffer,temp=%u.%u);
سلام این اعداد کد ها رو برای چی نوشتین
برای کدوم کامپالیر هست اگه برای کدویژن نوشتید و میخواین یه عدد رو بشماره و رو lcdنشون بده باید این طوری بنویسین:

for(i=0;i<20;i++){
sprintf(buff,"%d",i);
lcd_puts(buff);
}
من دقیقا متوجه نشدم عدد رو برای چی میشمارین و با اون عدد چکار میکنید.
ولی در مورد lm35

temp=read_adc(5);
sprintf(buff,"temp=%d",temp)
lcd_puts(buff);
اگه کدتون رو قار بدین بهتر میشه کمک کرد.

badbadakesabz
03-09-2013, 13:03
Gnd ها رو چک کنید. ارتباط با سه سیم هست نه دو سیم. پایه 5 db9 را به gnd وصل کردید؟؟؟