ايران ويج

نسخه‌ی کامل: AVR
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
این برنامه را نوشتم.فکرمیکنم باید توی ترمینال امولاتور 5 تا 40 چاپ کنه ولی 5 تا ایکس
چاپ میکنه.کلا در مورد putchar() یا printf() چی باید توی پرانتز بنویسیم.
کد:
#include <mega32.h
#include <stdio.h>
void main()
{
unsigned char i;
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;
for(i=0;i<5;i++)
  {
  putchar(40);
  }
}
سلام
دستور putchar هر كاركتري رو كه بهش بدي مي فرسته و هر بار هم يه كاركتر بيشتر نمي تونه ارسال كنه پس مثلا 40 رو اگه يه رشته فرض كني نمي تونه يه دفه ارسال كنه در ثاني با نوشتن خود عدد 40 كاركتري رو كه كد اسكيش 40 باشه رو ارسال مي كنه البته 40 رو در مبناي فرض مي كنه اگه به خواي عدد رو در مبناي 16 فرض كنه بايد 0x40 رو بنويسي و اگه مي خواي كاركتر 4 رو كه كد اسكيش 52 و 34در مبناي 16 هست رو ارسال كني بايد يه كي از اين سه حالت رو استفاده كني
کد:
putchar(52);
putchar(0x34);
putchar('4');
ولي printf اينجوري نيست و مي تونه يه متن رو با هر فرمتي ارسال كنه كه بايد خود دستور رو توي هلپ ببيني راحت ترين راه استفادش هم
کد:
printf("salam");
البته اگه از متغير هاي مميز شناور و ... توش استفاده كني بايد تنظيمات كمپايلر رو هم تغيير بدي تا اعداد مميز شناور رو هم قبول كنه بد نيست هلپش رو ببيني
اميد وارم به درد بخور بوده باشه :wink: