اطلاعیه

Collapse
No announcement yet.

مشکل sprintf در iar

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

    #16
    پاسخ : پاسخ : مشکل sprintf در iar

    نوشته اصلی توسط rozeh
    ای بابا! چرا ناراحت میشی. من که حرف بدی نزدم. شما اینا رو گفته بودی، منم چند تا حرکت مبتدیانه دیده بودم توی کدنویسیتون که گفتم.
    مشکل فعلیت چیه؟
    مشکلی نسیت دوستیمو از اطلاعات هم استفاده میکنیم
    هیچی الان فقط تابعای که نوشتم تنها چیزی که از sprintf کم داره اون حالت % مانندشه . که اونم زیاد مهم نیست فعلن حالا یا بعد sprintf رو ردیف میکنم تا اون موقع هم همین جوری جواب میگیرم
    اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
    هیتلر

    دیدگاه


      #17
      پاسخ : مشکل sprintf در iar

      یک مشکل دیگه
      یه ارایه فرض 0 1 1 رو توش ریختیم بعنی 110
      حالا میخواییم توش 5 رو بریزیم نمایش بدیم عدد نمایش داده شده میشه 510 . رو اولی عدد میارپه خونه 0 میشه 5 تو خونه 1 2 ارایه همون اعداد قبلیه مونده متدهای هایی که خودم بلد بودم :
      '\0';
      ""
      .....
      رو امتحان کردم جواب نداد . چجوری میتونم ارایه رو خالی کنم؟ تو نتم همیناو نوشته بود
      اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
      هیتلر

      دیدگاه


        #18
        پاسخ : پاسخ : مشکل sprintf در iar

        نوشته اصلی توسط Saeed Saeb
        یک مشکل دیگه
        یه ارایه فرض 0 1 1 رو توش ریختیم بعنی 110
        حالا میخواییم توش 5 رو بریزیم نمایش بدیم عدد نمایش داده شده میشه 510 . رو اولی عدد میارپه خونه 0 میشه 5 تو خونه 1 2 ارایه همون اعداد قبلیه مونده متدهای هایی که خودم بلد بودم :
        '\0';
        ""
        .....
        رو امتحان کردم جواب نداد . چجوری میتونم ارایه رو خالی کنم؟ تو نتم همیناو نوشته بود
        گرفتم!! بافر تو تابع خالی بود بافر تو برنامه اصلی خالی نشده بود مخ نزاشت امروز واسه ما این تابع!!
        اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
        هیتلر

        دیدگاه


          #19
          USART در iar

          سلام دوستان من در IAR کد زیر رو نوشتم می خوام خروجی USART داشته باشم فرکانس 4مگا باد ریت9600 و 8بیت با یک استاپ بیت
          ولی هیچ خروجی ندارم ولی زمانی که به رچیستر UDR مستقیما مقدار میدم خروجی میده
          گسی میتونه کمکم کنه
          #include <ioavr.h>
          #include <intrinsics.h>
          #include <stdio.h>
          int main()
          {
          char b;
          UCSRA=0x00;
          UCSRB=0x18;
          UCSRC=0x86;
          UBRRH=0x00;
          UBRRL=0x19;

          while(1)
          {
          //a=10;
          // UDR=100;
          // UDR=101;
          // UDR=56;
          //b=UDR;
          // putchar(b);
          printf("bar"
          //int putchar(k);
          __delay_cycles(1000000);
          }
          }

          دیدگاه


            #20
            پاسخ : USART در iar

            نوشته اصلی توسط roozbank
            سلام دوستان من در IAR کد زیر رو نوشتم می خوام خروجی USART داشته باشم فرکانس 4مگا باد ریت9600 و 8بیت با یک استاپ بیت
            ولی هیچ خروجی ندارم ولی زمانی که به رچیستر UDR مستقیما مقدار میدم خروجی میده
            گسی میتونه کمکم کنه
            #include <ioavr.h>
            #include <intrinsics.h>
            #include <stdio.h>
            int main()
            {
            char b;
            UCSRA=0x00;
            UCSRB=0x18;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=0x19;

            while(1)
            {
            //a=10;
            // UDR=100;
            // UDR=101;
            // UDR=56;
            //b=UDR;
            // putchar(b);
            printf("bar"
            //int putchar(k);
            __delay_cycles(1000000);
            }
            }
            سلام
            به خاطر اینکه بین UDR ها باید یه تاخیری میگذاشتید ...
            یک میلی ثانیه فکر کنم تاخیر خوبی باشه ...
            ولی بهتره که زیر برنامه های زیر رو به کار بگیری
            کد:
            void USART_Transmit( uint8_t data )
            {
            	while ( !( UCSR0A & (1<<UDRE0)) );
            	UDR0 = data;
            }
            void USART_puts(char *str)
            {
            	uint8_t i=0;
            	while(str[i])
            	{
            		USART_Transmit(str[i]);
            		i++;
            	}
            }
            void USART_put_uint8(uint8_t data)
            {
            	uint8_t a,b=0,c;
            	c=data;
            	for(a=0;a<100;a++)
            	{
            		if(c==0)break;
            		c/=10;
            		if(b==0)b++;
            		else b*=10;
            	}
            	if(b==0)USART_Transmit('0');
            	for(a=b;a>0;a/=10)
            	{
            		c = data/a;
            		data = data - (c*a);
            		USART_Transmit(c+48);
            	}
            }
            موفق باشید
            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
            معرفی نرم افزار Codewizard PWM
            با من بیشتر آشنا شوید

            دیدگاه


              #21
              پاسخ : مشکل sprintf در iar

              ممنون که وقت گذاشتی
              اما من در IAR این کد را نوشتم و کار نمی کند به گمانم شما در کدویژن نوشتین

              دیدگاه


                #22
                پاسخ : مشکل sprintf در iar

                نوشته اصلی توسط roozbank
                ممنون که وقت گذاشتی
                اما من در IAR این کد را نوشتم و کار نمی کند به گمانم شما در کدویژن نوشتین
                خیر جانم
                زبون سی با زبون سی زیاد فرقی نمیکنه ...
                با اتمل نوشتمشون ...
                اگر خطا میده بگید تا رفعش کنم
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه


                  #23
                  پاسخ : مشکل sprintf در iar

                  من بسکام خوب بلدم تو C , IAR تازه کارم
                  خیلی از برنامه ات سر در نیاوردم
                  اون برنامه که نوشتم از روی کتاب آقای اتونی نوشتم

                  دیدگاه


                    #24
                    پاسخ : مشکل sprintf در iar

                    نوشته اصلی توسط roozbank
                    من بسکام خوب بلدم تو C , IAR تازه کارم
                    خیلی از برنامه ات سر در نیاوردم
                    اون برنامه که نوشتم از روی کتاب آقای اتونی نوشتم
                    نیازی نیست که اینارو تحلیل کنی ...
                    فقط به کارشون بگیر ...
                    اینا مثل همه زیر برنامه های دیگه یک زیر برنامه معمولیه ...
                    که کافیه فراخوانی بشوند ...
                    همین ...

                    توی کامپایلر بسکام هم داخل Help ش نوشته ...
                    تنها چیزی که از بسکام خیلی خوشم میاد Helpش هست که واقعا کار راه انداز است ...
                    دستورات
                    print
                    printbin
                    =====================
                    کد:
                    Dim A As Byte , B1 As Byte , C As Integer , S As String * 4
                    A = 1
                    Print "print variable a " ; A
                    Print                            'new line
                    Print "Text to print."                   'constant to print
                    B1 = 10
                    Print Hex(b1)                        'print in hexa notation
                    C = &HA000                         'assign value to c%
                    Print Hex(c)                        'print in hex notation
                    Print C                           'print in decimal notation
                    
                    C = -32000
                    Print C
                    Print Hex(c)
                    Rem Note That Integers Range From -32767 To 32768
                    
                    Print "You can also use multiple" _
                    ; "lines using _"
                    Print "use it for long lines"
                    'From version 1.11.6.4 :
                    A = &B1010_0111
                    Print Bin(a)
                    S = "1001"
                    A = Binval(s)
                    Print A                           '9 dec
                    کد:
                    Dim A(10) As Byte, C As Byte
                    For C = 1 To 10
                     A(c)= c 'fill array
                    Next
                    Printbin A(1) 'print content of a(1). Note that the whole array will be sent!
                    برای پیکره بندی هم ...
                    کد:
                    Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
                    Config Printbin = Extended
                    Dim A(1000)
                    Printbin A(1) ; 1000
                    موفق باشید
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه

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