ايران ويج

نسخه‌ی کامل: رتباط سریال usart
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
من میخوام با lm35 دما را بخونم بریزم تو میکرو واز طریقه ارتباط سریال usart بریزم تو یه میکرو دیگه و تو lcd نمایش بدم نمیدونم چرا وقتی میریزم توlcd دما رو همین طوری پشت سر هم نمایش میده
کد php:
برنامه فرستنده:
while (
1)
      {
      
v=read_adc(0);
      
v=v*500.0/1023.0;
      
printf("%2.2fc",v); 
      
putsf(v);
      }
}
برنامه گیرنده :
while (
1)
      {
      
gets(i,9);
      
lcd_gotoxy(0,0);
      
lcd_puts(i);
      }           

سلام
من میخوام با lm35 دما را بخونم بریزم تو میکرو واز طریقه ارتباط سریال usart بریزم تو یه میکرو دیگه و تو lcd نمایش بدم
نمیدونم چرا وقتی میریزم توlcd دما رو همین طوری پشت سر هم نمایش میده
وقتی میخواد دمای 16.2 نمایش بده میشه 216.2 اینجوری میشه عدد بعد ممیز بعدی هم میفته کنارش
دستور
کد php:
printf("%2.2fc",v); 
رو به این صورت بنویس... (فضا های خالیش رو هم دقت کن و بذار)
کد php:
printf(" %2.2f   ",v); 

قبل از اینکه i رو در تابع get بفرستی ، تو خط قبل از این تابع مقدارش رو 0 یا null کن ، شاید تاثیر داشته باشه...
در نهایت اگر درست نشد هر سری از lcd_clear استفاده کن. ببین چطور می شه ...

--------------
فکر نمی کنی
کد php:
putsf(v); 
اشتباه باشه؟
تا جایی که یادمه این دستور برای فرستادن مقداری هست که تو flash نوشته شده.
باید از puts استفاده کنی که اشاره گر آرگومانش در SRAM ذخیره شده.
کامپایلر ارور نگرفت؟
فرقی نکرد بازم همون جوری میشه
از چه میکرویی استفاده می کنی؟ AVR خانواده atmega هست؟
بله از خانواده atmga استفاده میکنم
atmega32 است
را ستی شما اطلاعاتی در مورد ic ad694 دارید؟