Hi,
I have an embedded system with an AT89C51SNDC1 (which have only one UART) So actually I have only one external serial connection for debugging this UART by a DB9 connector.
for my new application I must implement the reading of data comming from a GPS oem (each second). Because of I have only one UART (on pins P3.0 and P3.1 are connected a debug cable) incoming data from GPS must be connected to the same pins of connector of UART than use for debugging (perhaps only on RX pin of the µc because of GPS incoming), so I think so but I don't know if it is correct?
for that I suppose to use every short time of each second reading of data coming from GPS in my infinite loop, but how exactly do that? Must I use software interrupts?
In my actual program there is no interrupts.
So how must I implement that, could you help me please?
PS: So I suppose that hardwarelly I will have an external connector with "Y" cable.
Thank you
Best Regards,
Sems
Thanks all,
Yes the software development can cost much too.
for the moment I can not realize a new PCB but in the future maybe anyway if I can use this new GPS application with the existent PCB it will be too an software investment for the new future project.
so your propositions are very interristing.
Using of an ICE ( I think to a JTAG system isn't it?) if yes how use it like simulation or debug?
And the encapsulated GPS data this is very interresting too (normally the data incoming from GPS on port com at 4800 baud/s) Knowing that the using of rx tx of the µc is at 19200baud/s. How must I encapsulate the gps data for using the debugging (seeing what happens in a console changing some settings etc..) and GPS data on the same UART ?
And finnaly using only GPS data on the single UART of the µC but this way will be difficult to debug (see what happens on a console) so difficult too to impement the receiving GPS data. (problem coming from problem :( ).
Could you help ùe to implement the good software for resolving this problem?
Thank you Best regards,
Multiplexing the data could be done by limiting the two streams to 7-bit data, and using he 8:th bit as selector. This would allow a PC program to send typed characters immediately to your application.
An alternative could be to multiplex a full line at a time, i.e. the first character received after a newline character is the mux character, specifying if the next line of text is NMEA data or debug data.
Both alternatives requires you do write a little application on the remote side, to pick up GPS data from an external GSM module (or simulate it) and feed in one mux channel, and to display some form of console or GUI for the monitor interface.
If you have existing code, it can be done fast and cheap. If you start from zero, the required time can be very high - especially if you have never worked with serial ports on Windows, Linux or whatever OS you run.
Which, of course, begs the question: would that time be better spent re-spinning the PCB...?
;-)
I would definitely have selected updated hardware. The spin-off from a better suited hardware can potentially lead to other market niches being available.
Using of an ICE ( I think to a JTAG system isn't it?) if yes how use it like simulation or debug? If you do not know, visit e.g. Ceibo.com or Nohau.com
an ICE rarely is JTAG, if you have JTAG it usually is "ICE functionality built into the chip". For the typical chip the ICE has a 'pod' that you plug into your board instead of your processor, the pod runs your program on your actual board with the same inputs and outputs and at the same speed as your actual chip (your board will not know the difference)
thus an ICE is neither "simulation or debug" it is In Circuit Emulation
ICEs will cost you ~$500(e.g. Acqura) - ~$20000(e.g. Lauterbach) and they will pay for themselves in no time at all.
Erik
Actually I try to make goo software,
it will be nice if you show me some code sample doing what you said ie in encapsulation gps data or other.
Thank you.