Arduino Delphi Serial Communication Port

The Arduino hardware has built-in support for serial communication on pins 0 and 1 (which also goes to the computer via the USB connection).The native serial support happens via a piece of hardware (built into the chip) called a UART. This hardware allows the Atmega chip to receive serial.

Delphi serial communication

I am developing Delphi application on Delphi 2010 XE RAD Studio under Windows 7. My application talks on the serial port non-stop. I am using AsyncPro for Delphi 2010.

Serial communication and everything else on the computer I develop with works great without any problem. However, when my release version of my application is run on another Windows 7 system, serial communication completely fails. We probed the serial communication itself for an answer and found out that Request to Send (RTS) line is not dropped right after sending all the bytes, whereas on my development computer RTS line is dropped correctly. Even when I explicitly drop the RTS line to low or false state, RTS line doesn't drop right away but after good 15 milliseconds. Thus, serial communication on my release version is failing. Am I missing important information about Windows 7 and serial communication issues? UPDATE: I just found the bug with my Aysncpro 5.0 for Delphi XE.

When my Delphi XE IDE is open or running, my program is communicating flawlessly. When I shutdown or close my Delphi XE IDE while my program is running, the same program doesn't communicate very well or it times out. Chime in if you have any idea why it is happening.

I downloaded the intro (which I should know) and the Tips and Tricks (which I may not know, I haven't used ZBrush for a year.) Given my Machinima nature, is there a reason you don't consider SOUND too? Digital tutors rigging wings in maya torrent. The best Art and Graphics are nothing without the ears. A great director once said, 'pass that boy, pls,' WAIT, no.he said, 'The ears first, the eyes follow.' You have an ETA for the ZBrush tutorial set? I so love playing with clay and fingerpaints.

Arduino Delphi Serial Communication Port

Any help will be appreciated. Sounds like a timer resolution problem to me. I had the same problem trying to write to a USB FTDI driver using an event based timer with timeSetEvent(). When Delphi loads, it changes the timer resolution to less than 20ms, which made my app work fine.

When the IDE wasn't running I couldn't get things to work below 20ms +/- 5ms (the default Windows resolution I believe). To fix the problem, I call timeBeginPeriod(1) in the thread to set the minimum system wide timer resolution. I believe this affects the resolution of other time based events, because I get better than +/-5ms accuracy on other (non-multimedia timer) wait events in my app when I use timeBeginPeriod(). So, what I'm suggesting is that somewhere in the AsyncPro code it's using some time based event or call back. That would be affected by Delphi's change to the timer resolution when it is loaded. Try calling timeBeginPeriod(1) somewhere in your app when it starts and see if there is a change. Oh, and don't forget to call timeEndPeriod(1) when your app shuts down.

On Embarcadero groups there was another issue with time - threads seemed to take 15-30 ms to get scheduled on app startup. I never noticed this because I always create mine at startup & never terminate or make any more. Just out of interest, I put a GetTickCount in a thread ctor in my current app and another GTC at top of 'execute' method. Sure enough, when my UI displayed the difference, I got '15'. Eventually, I tried running my app outside the IDE - '0'. I never had this nasty fiddling with system time with D5!

– May 30 '11 at 13:29 •. Last few times I saw random inexplicable crap like I tried everything, and was unable to solve it for months. I found two different common causes: • ASYNC Professional has some weird glitches that I was unable to solve, so I dropped it, and moved to. • I found all kinds of strange flow control bugs in USB drivers. I found FTDI chipset USB-to-serial more reliable than others. The Debug build not having the problem could be two things: • Certain timing changes cause the USB device driver that was failing, not to fail.

Popular Posts