We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all,
I'm quite new at using uVision. Currently I'm using C8051F120-TB board. I want to make a Multiply and Accumulate project. My problem is when I build my project, it doesn't recognize MAC0_PAGE. Do I need to do something before caling MAC0_PAGE?
Anyway, here's my program
#include <c8051f120.h> // try 9*14 + 12*5
void try (void); void INIT (void);
void main (void) { WDTCN = 0xDE; WDTCN = 0xAD;
INIT(); try();
while(1); }
void INIT (void) { char SFRPAGE_SAVE = SFRPAGE;
SFRPAGE = MAC0_PAGE;
MAC0CF = 0x00;
SFRPAGE = SFRPAGE_SAVE; }
void try (void) { char SFRPAGE_SAVE = SFRPAGE; SFRPAGE = MAC0_PAGE;
MAC0AH = 0x00; MAC0AL = 0x09; MAC0BH = 0x00; MAC0BL = 0x0E;
MAC0AH = 0x00; MAC0AL = 0x0C; MAC0BH = 0x00; MAC0BL = 0x05;
Thanks in advance
Adi
I've trying to put
#define MAC0_PAGE 0x03;
now it recognized the MAC0_PAGE but it still doesn't recognize the function such as MAC0CF. Do I need to define the functions also? Or is it better to represent the functions in .SRC? Thanks.
have you got the ???.h (something like f120.h) from Keil or SILabs. if from Keil, get another from SILabs.
I only use C8051F120.h. It's already there. Is it from Keil by default? Do I need to put another libary from SiLabs?
Thanks in advance. Really appreciate your help.
Whatever you do you will need to find a file that has the definitions you expect to be there. The compilers says they aren't, so you could inspect it yourself, or look to what was being used in the example your code came from.
If you have multiple examples of a particular .H file you'll want to check the include paths used by the compiler to determine/adjust which is used first.
Do I need to put another libary from SiLabs? you clearly need another. As a general rule, you are better off to get device specific files from the manufacturere than Keil