ايران ويج

نسخه‌ی کامل: راهنمایی برای کار با تایمر کانتر صفر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
چطور باید ازش استفاده کنم؟
کدش رو اینجوری نوشتم، ولی ارور داد.
کد:
#include <mega32.h>
#include <delay.h>
#include <lcd.h>
#include <stdio.h>
#include <stdlib.h>
#asm
.equ __lcd_port=0x15
#endasm
unsigned char buffer[16];
unsigned long int f1;
unsigned i=0;
void main()
{
DDRC=0xff;
PORTC=0x00;
lcd_init(16);
while(1)
{
  f1=99999;
  lcd_clear();
  lcd_gotoxy(1,0);
  itoa(i,buffer,10);
  printf("f1_min=%imHz",buffer);
  delay_ms(1000);
}
}
نحوه ی استفاده اش یه سرچ هست دیگه ...
مگر روی lcd نمی خواید نمایش بدید؟
بجای اون printf و اون تابع اینجور بنویسید:
کد php:
itoa(f1,buff);
lcd_puts(buff); 

موفق باشید.
ببخشید، دنبال دستورش گشتم که اون کد رو نوشتم، ولی ارور میداد. این کد جدیدی که گفتید رو هم امتحان کردم، همون مشکل قبلی رو داره؛ عددهای بزرگ رو اشتباه نشون میده. مثلا به جای عدد 99999 که بهش دادم، عدد 31073- رو نشون میده.
پس باید بذارید سر فرصت که خودم امتحان کنم.
البته می شه با روش هایی اعداد رو خورد کرد و پشت سر هم نشون داد ، اما اون راه آخرهه.
خودمم از کدویژن زیاد خوشم نمی یاد، sprintf برای اعداد float اش هم مشکل داره که باید از تابع ftoa استفاده کرد.
یه وقتی کنم اون مورد رو باید امتحان کنم، چون تاحالا سعی نکردم عدد بزرگ رو روی LCD نمایش بدم.
ممنون، پس اگه میشه لطف کنید و وقتی فهمیدید که مشکل چیه، همین جا بذاریتش.
سلام.

یه وقتی پیدا شد و همون چیزی رو که بالا گفتم و کدش رو بالا گذاشتم تست زدم و جواب داد!
فقط الان دیدم تو اون کد itoa نوشتم که اشتباه چاپی شده! ( بخاطر اینکه از کد شما کپی اش کردم )
تو پست قبلش ltoa نوشته بودم و همین درسته!
کد php:
ltoa(f1,buff);
lcd_puts(buff); 
موفق باشید.
آقا دست شما درد نکنه، حق با شماست. اشتباه از من بود. خیلی خیلی ممنون که مشکلم رو حل کردید.
کاش بتونم لطفتون رو جبران کنم.
یا علی
خواهش می شه...
کاری نکردم، تلاش خودتون بوده ...
خوشحالم کارتون راه افتاد ...
علی یارت ...
صفحه‌ها: 1 2