6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Sep 29, 2024 5:28 am

All times are UTC




Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4
Author Message
PostPosted: Wed Nov 13, 2013 10:36 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8521
Location: Southern California
I suspect there may be some systems where the ISR keeps feeding data to the UART transmitter and the RTS line only gets looked at by a non-ISR task, leading to its taking more bytes to stop the flow than the UART's buffer has. IOW, that even if the UART had an 8-byte buffer, it may take more than 8 bytes to come to a stop. Is anyone aware of such a system?

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 14, 2013 6:12 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8405
Location: Midwestern USA
GARTHWILSON wrote:
I suspect there may be some systems where the ISR keeps feeding data to the UART transmitter and the RTS line only gets looked at by a non-ISR task, leading to its taking more bytes to stop the flow than the UART's buffer has. IOW, that even if the UART had an 8-byte buffer, it may take more than 8 bytes to come to a stop. Is anyone aware of such a system?

I'm not. The two UARTs with which I am familiar that have internal transmit FIFOs will indicate via a status register bit when the FIFO is full. In the case of the 26C92, it may be programmed so that it stops transmitting as soon as the receiving entity deasserts CTS, which is how I am using it in POC V1.1. The response time to CTS is sub-microsecond, which means transmission will be stopped well before the next start bit would be sent.

The buffer to which I am referring is the circular one maintained by the drivers in RAM.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 16, 2013 12:27 am 
Offline

Joined: Mon Apr 16, 2007 6:04 am
Posts: 155
Location: Auckland, New Zealand
A quick update. I just started a new job this week so not as much time to play with this stuff now. I don't think I ever actually hit at flow control condition, probably since I need to send data quite slowly to give BASIC time to parse each line. I did find a bug in my code if I ever did hit that condition where it would try sending then get stuck in a loop waiting for the register to clear when it never would. I've also disabled interrupts around anything that is reading or writing the 6551 registers. If I don't try to hammer it with data it works quite well now. I had it successfully running overnight loading thousands of times error free.

So, that's working pretty well so I went and did another Usborne book review using it which is the whole reason for the machine: http://www.asciimation.co.nz/bb/2013/11/12/usborne-guide-to-understanding-the-micro

Have lots more to review (I have all of them but three).

I just added a CLS command to my version of Basic. And I also got hold of an old fashioned tape recorder. I'd quite like to make a real tape interface for it (maybe using an Arduino). More just as a novelty. For actual saving and loading I will probably write a little app that runs on the PC to send things via the serial port. I need to brush up on my Windows coding for my new job so that would be a good project too.

Simon

_________________
My 6502 related blog: http://www.asciimation.co.nz/bb/category/6502-computer


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4

All times are UTC


Who is online

Users browsing this forum: No registered users and 41 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: