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.
Hello, My name is Mihai Pogorevici. I need little assistance and i would be very happy if someone would agree to help me. I'm working on a big project which includes microcontroller programming and i use Keil uVision 2.20a (C51 ver 6.20c, A51 ver 6.20, BL51 ver 4.20). Question 1: Does Keil C51 support Assembler statements within the C code ?! Question 2: How could i call another program loaded in memory (written in Keil C) within from a C51 program (written in Keil C too) ?! We suppose that we know the startup address. I tried to use an external assembly module to call another program but it didnt work at all. I really need help. Can someone give me any example ?! Thank You, Mihai Pogorevici. P.S. My target system is a Philips 80C552.
Does Keil C51 support Assembler statements within the C code ?! Yes. Read the C51 manual for the details. Calling external functions at known addresses can be either hard or simple, depending on how, exactly, they were made. I.e.: do they take arguments? If so: where? What about return values? It can be as simple as
typedef void (*func_ptr)(int); func_ptr whatever_function = (func_ptr) 0x12345; funcptr(5);