اطلاعیه

Collapse
No announcement yet.

نمایش محتویات اشاره گر در خروجی پورت؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    نمایش محتویات اشاره گر در خروجی پورت؟

    :nerd:

    باعرض سلام
    یه سوال داشتم در مورد برنامه نویسی c مربوط به میکرو AVR که اساتید لطف می کنند اگر راهنمایی نمایند!

    چگونه محتویات اشاره گر به یک تابع یا متغیر را در خروجی پورت دلخواه نمایش دهیم!؟
    مثلا اشاره گری از نوع void یا char که محتویات 0x80 را اشاره می کند! حال می خواهیم محتویات را بر روی پورت c نمایش دهیم!
    در کد زیر متغیر buffer , c هر دو از نوع اشاره گر هستند که مثلا مقدار 0x80 را اشاره می کنند! حال می خواهیم مقداری که اشاره گر ها به آن اشاره میکنند را در خروجی پورت نمایش دهیم!

    نمونه کد زیر:



    کد PHP:
    unsigned char buffer[32];
    unsigned charc=buffer;

    lcd_puts(buffer);//OK
    lcd_puts(c);//OK
    PORTC=c;//Error
    PORTC=buffer;//Error 


    آنچه كه باعث موفقيت انسان ها مي شود سخت كوشي است و نه نخبه بودن! Porsche 911 Turbo S 181.000 $ USD
    جناب سعدی فرموده بودند: "بر احوال ان مرد باید گریست _ که دخلش بود نوزده، خرجش بیست!"
    که اگه الان بود باید میگفت: "بود حال و احوال آن مرد زار _ که دخلش ریال است ، خرجش دلار :|"
    http://www.eca.ir/forum2/index.php?topic=80472.msg489565#msg489565
    http://www.eca.ir/forum2/index.php?topic=82242.msg501926#msg501926

    #2
    پاسخ : نمایش محتویات اشاره گر در خروجی پورت؟

    شما تعریف اشاره گر رو خوب متوجه نشدید! PORTC=c خود اشاره گر که یه مقدار 16 بیتی هست رو میخواد منتقل کنه که غلطه باید بنویسید PORTC=*C
    توی خط آخر هم شما نمیتونید کل آرایه رو به یه پورت نسبت بدید.دلیلش هم مثل قبل هست PORTC=buffer[0];
    برای برابر کردن پورت با دومین عنصر آزایه و با استفاده از اشاره گر:
    c++;
    portc=*c;
    فقط حواستون باشه بیش تر از 32 تا مقدار اشاره گر رو اضافه نکنید که دیگه به جاهای دیگه اشاره میشه و نتایج غیر قابل پیش بینی میشه!
    درکل نیازی به تعریف اشاره گر C نبود چون بعد از مقدار دادن c=buffer آدرس اشاره گر c با اولین خونه آرایه یکی هست.از آدرس همون آرایه میشد استفاده کرد دیگه....
    [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

    دیدگاه

    لطفا صبر کنید...
    X