اولا اینکه حیفه شما با این پروگرامر xmega کار نکنید!پروگرام عالیه و تنها جایی که کمتر بهش اشکال وارده همین پروگرامره(البته اگه منظورتون همون mkii اصل باشه)به نقل از فاطمـه :سلام
من یه مشکلی داشتم و دارم با کامپسمون! کامپس ما(cmps03) به جای اینکه از 0 تا 255 بهمون عدد بده، از 190 تا 255 بهمون عدد میده (با I2C میخونم)
پایه های SDA و SCL درست متصل شدن، پین های 9 و 1 هم که به ترتیب مربوط به GNDو +5V هستن، رو هم وصل کردم، برای کالیبره کردن هم پین 6 رو به GND وصل میکنیم و کامپس رو میچرخونم
این هم تابع :این هم کدیه که تو حلقه ی while مینویسم:کد:#define EEPROM_BUS_ADDRESS 0xc0 unsigned char compass_read(unsigned char address) { unsigned char data; i2c_start(); i2c_write(EEPROM_BUS_ADDRESS); i2c_write(address); i2c_start(); i2c_write(EEPROM_BUS_ADDRESS | 1); data=i2c_read(0); i2c_stop(); return data; }
با کامپایلر codevision AVR کار میکنم، برنامه ی تست کامپس هم همین دو قسمت رو داره که به پروجکت اضافه میکنم، اصلا کاری به الگوریتم های صاف کردن و صفر کردن هم ندارم تو این پروجکتکد:c=compass_read(1); delay_ms(10); lcd_gotoxy(0,0); lcd_putchar(((c/100)%10)+'0'); lcd_putchar(((c/10)%10)+'0'); lcd_putchar((c%10)+'0'); delay_ms(100);
دیگه این که پروگرامرم mkII هستش و با AVR Studio پروگرام میکنم ( پروگرامر تو codevision کار نکرد)
و این که همین کامپس با همین 2 قطعه کد، و البته با همین ترتیب اتصال پین ها به میکرو و تغذیه روی یه برد دیگه کار کردو دقیقا 0 تا 255 رو برگردوند، چند تا چیز بین ما و اون تیم فرق میکرد یکی ورژن codevision! یکی پروگرامر که اگه اشتباه نکنم واسه اونا دلتا بود و تو همون codevision پروگرام میکردن، و میکرو و LCD!! و برد! که البته میکروی اون ها هم مثل ما ATmega16 بود و فیوز بیت هایی که پروگرام میکردن دقیقا فیوز بیت های ما بود، و در رابطه با برد هم دقیقا مثل ما پین های SCL و SDA رو به پین های B.0و B.1 وصل کرده بودن
راستی اون تیم از اسیلاتور خارجی استفاده کرده بود اما ما از اسیلاتور خود میکرو با فرکانس 4.000000
پین هایSCL و SDA رو با مقاومت های 1 کیلو پول آپ کردم، یادم نیست اون تیم هم این کارو کرده بود یا نه، گرچه من حتی بدون پول آپ کردن هم تست کردم اما نتیجه نگرفتم
به نظر شما مشکل چی میتونه باشه؟ باید پروگرامر عوض کنم؟ مشکل از ورژن کدویژنه؟!! یا به خاطر اسیلاتور خارجی؟!!
اگه بخوام اسیلاتور اضافه کنم، تو کدویزارد باید تنظیم خاصی انجام بدم؟!
اگه چیزی به ذهنتون نمیرسه، اگه بیش استاد یا هم تیمی هاتون، مشکل منو مطرح کنین ممنون میشم
والا اونطوری که باید کلاس رباتیک وجود ندارهبه نقل از shnk :نمیدونم
سوالم جاش اینجاس یا ن
من رباتیک دوس دارم
شما چ جوری یاد گرفتین؟
کلاس رفتین؟
همه ی اینایی ک میگن رو هم من شنیدم اما بعضی از مشکلات تو مرحله ی چاپ روی ال سی دی بوجود میان، ورژن هایی از کد ویژن ک با alcd.h کار میکنن، تو راه اندازی ال سی دی مشکل دارن، برخی اوقات gotoxy ـشون کار نمیکنه، بعضی اوقات یک دفعه چرت و پرت چاپ میکنه و برخی اوقات هم ال سی دی یه دفعه از کار وای میسه، انیایی ک میگم هم تجربه ی ما بوده هم خیلی های دیگه پس چرت و پرت نیس! ورژن 2.4 کدویژن میشه گف از بهترن ورژناس هم از لحاظ باگ هاش هم این ک با lcd.h کار میکنه، تست کنین شاید مشکلتون بر طرف شد :)به نقل از Lily Delicated :يه مشكل فوري و جدي
ما واسه اندازه گيري فاصله از سنسورهاي شارپ استفاده كرديم
وقتي اينا رو وصل ميكنيم به ميكرو و ميگيم كه عدد adc شو چاپ كنه ميكرو ديوونه ميشه,يه دقيقه عدد adc رو ميده,دقيقه بعد واسه خودش كاراكترهاي چرت و پرت چاپ ميكنه
الانم هركي يه چيز ميگه,يكي ميگه شارپ نويز زياد داره به خاطر اونه,يكي ميگه نه شارپ خيلي نويز نداره,يكي ميگه از كاهش ولتاز vcc و gnd ه, يكي ميگه چون pull down نذاشتي اينجوريه
لطفا اگه اطلاعاتي راجب اين سنسورها داريد سريعتر بگيد شايد بتونه مشكلمون رو حل كنه
واقعا ضروري و فوريه
به نقل از Lily Delicated :يه مشكل فوري و جدي
ما واسه اندازه گيري فاصله از سنسورهاي شارپ استفاده كرديم
وقتي اينا رو وصل ميكنيم به ميكرو و ميگيم كه عدد adc شو چاپ كنه ميكرو ديوونه ميشه,يه دقيقه عدد adc رو ميده,دقيقه بعد واسه خودش كاراكترهاي چرت و پرت چاپ ميكنه
الانم هركي يه چيز ميگه,يكي ميگه شارپ نويز زياد داره به خاطر اونه,يكي ميگه نه شارپ خيلي نويز نداره,يكي ميگه از كاهش ولتاز vcc و gnd ه, يكي ميگه چون pull down نذاشتي اينجوريه
لطفا اگه اطلاعاتي راجب اين سنسورها داريد سريعتر بگيد شايد بتونه مشكلمون رو حل كنه
واقعا ضروري و فوريه
از باگ هاش که خبر ندارمبه نقل از FnS :جالبه علی رغم اینکه زبان c بسیار قوی تر از بیسیک عمل می کنه اما کامپایلر های مثل بسکام اصلا سر این موارد مشکلی ایجاد نمی کنند
و باگهای اینچنینی ندارند
اونطور که بنده با بیسیکی ها سر و کار داشتم بعضا از دسترسی نداشتن به رجیستر ها حجم کد و سرعت اجرا ناراضی بودندبه نقل از FnS :تا منظور از محدود بودن چی باشه
ما که هر کار ی خواستیم باهاش کردیم جواب داد