سلام دوستان ... کسی می تونه در مورد این مشکل کمکی کنه ؟
این برنامه رو نوشتم ولی وقتی عدد بزرگتر از 65535 بشه روی LCD دومرتبه از اول شروع می کنه به نشون دادن مثلا اگه بشه 65537 ، نشون می ده 1 . با وجود اینکه متغیر Cal از نوع long تعریف شده و %u هم واسه نشون دادن اعداد صحیح بدون علامت در مبنای 10 هست ....چرا اینجوریه ؟ کامپایلر کدویژن هست آیا تنظیم خاصی داره ؟ sprint رو هم توی کامپایلر روی long تنظیم کردم ....
unsighned long int cal;
lcd_init (16)
lcd clear
lcd goto x,y
sprintf(value,"ans:"%u,cal)
این برنامه رو نوشتم ولی وقتی عدد بزرگتر از 65535 بشه روی LCD دومرتبه از اول شروع می کنه به نشون دادن مثلا اگه بشه 65537 ، نشون می ده 1 . با وجود اینکه متغیر Cal از نوع long تعریف شده و %u هم واسه نشون دادن اعداد صحیح بدون علامت در مبنای 10 هست ....چرا اینجوریه ؟ کامپایلر کدویژن هست آیا تنظیم خاصی داره ؟ sprint رو هم توی کامپایلر روی long تنظیم کردم ....
unsighned long int cal;
lcd_init (16)
lcd clear
lcd goto x,y
sprintf(value,"ans:"%u,cal)
دیدگاه