Hello, I want communicate with my lpc2368 by the Ethernet port using an application whose create with visual basic. It is possible ? How ?
Thanks,
Mickael
Did you start your day by asking this question, or have you spent some time thinking about this problem before you asked the qeustion?
Do you believe that the ARM chip isn't VB compatible? Or that VB can make ethernet-capable applications as long as the other side isn't based on an ARM chip?
Please come back with a bit of information why you saw a need to question the possibility of interfacing an LPC2368 with a VB program.
How to do it?
Get a TCP/IP stack for the ARM - either buy from Keil, or try using any free stack. Read through the example code for the choosen stack. Write an application.
Write a VB program that can communicate with a PC program using Ethernet.
Connect the ARM hardware to the PC and change the IP number and possibly port number in the VB program and communicate with your ARM hardware instead.
I know it is possible to establish a connection between two PCs over ethernet but with the LPC2368 I did not know.
I look all day if it were possible and I found nothing, so I wrote on the forum.
I have a TCP / IP stack ... So I can make a VB application? The PC must be configured as a server or client tcp ?
I am french, so excuse me for my bad English.
Thanks for your help,
Exactly what did you spend the week searching for? There are a lot of information on this forum, and the NXP forums in case you searched.
1) Get a compiler for the ARM. For example Keil or gcc. Keil is expensive and the evaluation version will not do because of the code-size limitations.
2) Get a TCP/IP stack for the ARM. For example Keil. Or search on this forum (or on the net) for suggestions about available free stacks, or free OS with included stack, for these processors. If you can't afford the Keil compiler, look for free code supported by gcc (I would guess most/all free ARM code does).
3) Collect all sample code you can for the OS/stack and read it at least twice.
4) Write application using 2 and compiled with 1.
5) Load into hardware and test.
6) Test/update repeatedly until it works.
7) Post questions to web forums if you get stuck.
Is that you on that picture, Andy? :-)
ouch, I did not see the reference to the person's name under the picture...
I must write code in VB and load into memory lpc2368?
And after a vb application on my PC that communicates with the lpc2368?
Do I use the sockets?
You must write a PC application in whatever language you choose.
You must write a LPC2368 application using any language you are able to find compiler + TCP/IP stack for. Primary choice to look for: C or C++.
No: There is absolutely no way the LPC2368 can run any VB program. Visual Basic is for developing applications running on M$ Windows machines. The LPC2368 is not a x86-compatible processor with capacity to run Windows. And it is way too small to be able to emulate an x86 machine.
If you search, there is a little chance that someone have released a BASIC interpreter solution for the LPC23xx chips, where you may run BAISC (but not Visual Basic) applications in a LPC23xx chip. But this is of no value to you, unless said BASIC interpreter also contains an API for network communication.
"Do I use the sockets?" The function names to do different operations will differ between different TCP/IP stacks. But since TCP is a protocol, and IP is a protocol, you don't have much options. You must use the networking primitives that are available in the TCP/IP protocols to implement your networking. If you don't, then it will not be TCP/IP - even if you use ethernet as electrical carrier. And that would also imply that you would have to look into writing a new networking stack for your PC too...
If you don't care about safe, connectionbased delivery, then you may use UDP instead of TCP. But no difference. You must make use of the primitives available in the stack. If you do not, then you will not be able to communicate between PC and LPC23xx.
"Is that you on that picture, Andy? :-)"
Try http://www.8052.com. Find post by Andy. Visit his home page.
If you want to use Microsoft development tools - look for a platform using Windows CE.
A quick search seems to indicate that Windows CE supports the following processor instruction sets: ARMV4I MIPSII MIPSII_FP MIPSIV MIPSIV_FP SH4 x86
Or take a look at this:
www.digi.com/.../digiconnectme.jsp
A complete, ARM-based platform, and supports the .NET Micro Framework
I search the forum if someone had already made a application BASIC for Lpc23XX but I found nothing.
If I understood I must write a code c in the lpc then a code in VB in my PC. Both will they communicate?
Thanks, Mickael
It does not matter if you have different programming languages on the two sides. The networking protocols are still the same.
If they will communicate - now that is a quation about your skills. I can't answer if you will manage to write two working applications or not.
I am able to write two one vb application on my computer and the other on the c lpc2368 but I did not think it was possible to communicate with two different language. Is that someone has knowledge in one of its language to give me a track on the method used?
"If I understood I must write a code c in the lpc then a code in VB in my PC."
No, you misunderstand.
There is no specific requirement to write in any particular language on either platform!
The one and only thing that matters is that both devices use a compatible protocol.
You can implement that protocol using whatever language(s) you like - if the implementations are compatible, then they will communicate; if they are not compatible then, by definition, they will not communicate.
However, the choice of available languages will be more limited opn the LPC - and 'C' is likely to be the most widely available.
The choice of languages on the PC is much wider, and VB is just one of them.
I thought I was quite clear about your options:
"You must write a PC application in whatever language you choose.
You must write a LPC2368 application using any language you are able to find compiler + TCP/IP stack for. Primary choice to look for: C or C++."
It should be quite clear from the above, that the language used on the PC side and the language used on the LPC2368 side can be different.
I think you may have confused computer languages.
A computer language is a description language to tell a processor what to do. But when communicating between two programs, you normally do not send your "computer language" to the other side.
The program on one side builds a message consisting of bytes of data in a pre-defined format and sends to the other side.
The other side runs its program (possibly written in another computer language) picks up the message and extracts the individual bytes and then performs actions based on the message contents.
I want to use the TCP / IP. I am indeed choose the language Vb on my computer. And it will require that I use the C language on the LPC.
VB on the method used to send a frame on TCP / IP and sending socket but with c I don't know how do this.
In any TCP / IP application there must be a client and a server. In my case I can't decide who should be the server and the client ... The PC or LPC?
Can you help me?
There is no requirement that you must use C on the LPC side. But it is easier to find a C or a C++ compiler than it is to find a Pascal, Algol, Ada, C#, ... compiler.
Should be trivial to figure out which side is the server.
What is the link intended for?
Requesting configuration? Then the server is the PC, and multiple embedded systems connects.
Retrieving measurements? Then the board is the server, and the PC side has a list of IP numbers to connect to - one for each embedded unit.
Pushing of measurements? Then the server is on the PC side, and the embedded unit connects and sends in measurements.
If you do not know what the link should be used for, then you do not need the link in the first place...
View all questions in Keil forum