• Warning while using inline assembly

    I am using inline assembly in C but i am getting a warning as "UNRESOLVED EXTERNAL SYMBOL".The code is executing but i am getting only the warning. I set all these options:
    Generate assembler SRC file
    Assemble SRC file
    Include in Target Bu…

  • When declare a variable to be static?

    Can someone give some explains on when to declare a variable to be static? What is the difference with extern one?

  • ASM51 REGUSE bit assignments

    I've identified all but two bits in the word value that results from register use. The obvious ones are:

    R0-R7
    DPH
    DPL
    PSW
    ACC
    B
    CY

    These are assigned to the lower 14 bits of the word (order unimportant for this discussion)

    None of the registers…

  • RTX51 Tiny and Reentrancy

    What is the effect of an RTX Tiny context switch (via specifying a non-zero TIMESHARING value in Conf_tny.A51) on non-reentrant functions?

    I would assume that functions documented as reentrant will be OK, but is it safe to assume all non-reentrant functions…

  • who can tell me some usefull websites or forums about Hardware,electric ,mcu ,dsp,cpld and so on.

    who can tell me some usefull websites or forums about Hardware,electric ,mcu ,dsp,cpld and so on.Not english language is
    also valid.
    TO tell me where you go to often. thanks to every one who reples.

  • About interrupt , can't run into the interrupt which number id is bigger than five!

    the keil can detect the interrupt ,but can't run into the interrupt function !
    thank you !

    //my program ! use DS89C420 MICRO CHIP!

    #include "reg420.h"
    unsigned int count;
    void ini_INT12(void);
    main()
    {
    ini_INT12();

    while(1);

    }

  • about serial communication!

    I can't step over this instruction ( while(TI==0);//  )
    the program :
    
    #include "reg51.h"
    main()
    {
      TCON = 0x50;
      TMOD = 0x20;
      TL1 = 0xFD;
      TH1 = 0xFD;
      TR1 = 1;
      while(1)
      {
       SBUF = 0xFF;
       while(TI==0);//  I can't step over here .
       TI…

  • PCA vs T0

    Hello everyone!

    I am sure this could be a ridiculous question - but I would love the educated minds of the forum to impart their wisdom.

    Is there any difference in operation or performance of using the Programmable Counter Array capturing on the…

  • INCLUDING OBJECT FILES IN LINK

    Hi All,

    I have 3 source files: file1.c, file2.c and file3.c and 1 header file config.h.

    When I built entire uvision project, 3 object files got generated. file1.obj, file2.obj, file3.obj.

    Now I re-build the project & generate hex by changing variables…

  • bin file

    hi,
    i have some doubts in bin file creation for at89s52.
    how to create bin file from hex file using keil uv4?
    or shall i program direct hex file created by keil?
    or shall i program the output file (without extension) created by keil?
    thanks

  • Really strange problem configuring the PCA

    Hello all,
    This is a really strange problem i have just encountered.

    to simplify i am trying to load values AABB CCDD EEFF into the pca capture regs.

    So the code to do this should simply be:

    PCA0CPL0 = 0xBB; PCA0CPL1 = 0xDD; PCA0CPL2 = 0xFF; PCA0CPH0…

  • Linker has no access to batch file.

    Hi,

    I downloaded the toolset V9.51 file 'c51v951.exe' and installed it. Using ultraedit version '13.20+2' using Windows7.

    I configured the Linker through the 'Advanced > Tool Configuration' menu.

    The command line is like…

  • Global Register Coloring and Inline Assembly

    Quite often I'll code some of my modules entirely in A51 assembly and, to be thorough, I always fill out the $REGUSE statement for all functions. A module written like this will then provide the necessary information to the compiler for global register…

  • compiler crash instead of error in macro definition usage

    I am using C51 compiler V7.50 I don't know if this 'works' on other versions however I was able to crash the compiler by this 'silly' macro usage

    // causes compiler to crash
    #define WORD_SIZE(N) (sizeof((N))/sizeof(uint16_t))
    /…

  • LPC936 Brownout issues

    I haven't found a response to my brownout issues yet using the LPC936. Maybe I won't. It doesn't seem as though this is a chip many people use anymore. We've used this for over 10 years on a working system, and I was trying to get a new brownout feature…

  • LPC936 using Brownout detect

    Anyone have experience with the Brownout Detect feature on the LPC936 chip? I have a complete system that works fine. I decided to try out the Brownout feature. Anytime I turn on BOE bit (done thru FlashMagic) or EBO bit, my system stops. I figured out…

  • Interrupt not working(tx in softuart)(reception is inbuilt uart in the interrupt mode)

    #include<softuart.h>
    #include<stdio.h>
    #include<reg51.h>
    
    void uart_init();
    sbit sw=P1^7;
    
    unsigned char rx();
    code unsigned char rd[] = "AT+CMGR=1";
    code unsigned char ne[] = "AT+CNMI=2,2,0,0,0";
    unsigned int r=0,m=0,s1=0,n1=0,f1=0,m2=0;
    unsigned char…

  • SMALL memory model, compiler error?

    Hello!

    A function here starts like this:

    uchar uc_Check_Limits(uchar pdata *ptr_Set,struct st_Limit code *ptr_Limit)small reentrant
    {
            union  INT_CHAR data Value;
            uint uiLimit;
            // typ of limit
            EA=0;
            Value.byte…

  • warning L7 when including c file in a assembler project

    Hello,

    I have include a c file with #pragma SRC
    after a build of my target, I have include the .src file in the projet for future use.

    but after all build (compilation) of the target, I have a BL51: WARNING 7 (MODULE NAME NOT UNIQUE)

    I think that…

  • Reentrant stack & hardware stack ...

    From Cx51 User's guide, I learned that:

    The simulated stack area for reentrant functions is organized from top to bottom—it stacks down. The 8051 hardware stack is just the opposite and is organized bottom to top—it stacks up. When using the SMALL…

  • How to "optimize" self-defined 32bit shift-left routine ?

    Dear all,
    I encountered one problem about "executing self-defined 32bit shift-left routine too long"...

    That is, I built my own routine to execute 32-bit shift left operation and found it takes too long(Due to some reason 32bit shift left…

  • Flash proramming

    I am trying to use flash memory to store one byte of data in a P89LPC922 and am using a EPM900 to debug my application. The map file shows that the address I am using is not used by my application code. My flash programming function (taken from the device…

  • AT24C512 problem with P89C51RD2

    Hi!,

    I've written a code for I2C communication which works fine for almost all I2C devices. Now I'm using the same code for using with AT24c512 EEPROM. I can read and write a byte to it perfecty.

    When I try to read memory locations greater…

  • How to donsize _DATA_GROUP_ ?

    Dear all,
    I have one question about the _DATA_GROUP_ in DATA MEMORY in m51 file.
    The current DATA MEMORY is as follows:

    REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
    DATA    0008H     000DH     UNIT         ?DT?A
    DATA    0015H     0008H   …

  • Banked hex file format using BL51 linker

    Hello,

    I have a banked application using the BL51 linker. I am using a Silabs C8051F120 processor, which has four 32K banks. I'm using all of them. I am writing a bootloader to upgrade the firmware using an external uart.

    I am looking at the…