??? 04/10/07 12:58 Read: times |
#136906 - I will fast forward Responding to: ???'s previous message |
It seems that I'm not getting what I want. Perhaps I shall fast forward.
Now I am able to share data at 56K with the PC if I make a "monitor" program. (one that interfaces with the terminal). Here is the code I have so far when trying to make my dial-up server (on the 8051). Remember, this "server" will make the PC think it is connected to the internet. ;-------------------------------------------- ; Timer 0 interrupt (Serial mini-buffer to XRAM) ;-------------------------------------------- org 0Bh clr TR0 ;suspend timer when in INT push DPL push DPH mov DPTR,#8000h mov R1,#30h moremini: mov A,@R1 movx @DPTR,A inc DPTR inc R1 mov A,R1 cjne A,R0,moremini mov R0,#30h pop DPH pop DPL setb TR0 reti ;-------------------------------------------- ; serial interrupt ;-------------------------------------------- org 23h jbc RI,smrecv jbc TI,smxmit reti smxmit: setb C reti smrecv: mov @R0,SBUF inc R0 cjne R0,#80h,recvadd dec R0 recvadd: reti Obviously I haven't finished the code. R0 and R1 are set to #30h so that I make use of the internal ram locations #30h-#7Fh My intent is to use the fewest number of clock cycles possible to store a byte in IRAM. "PUSH" won't work because when the serial routine ends, two POPS are internally executed (for the RETI instruction). A timer is active which will activate after a certain delay. this "certain" delay will be long enough so that a byte is in memory before the timer interrupt starts. Once the interrupt starts, data is transferred from IRAM to XRAM. I was just wondering, for the interrupts, since I want the serial interrupt to be of high priority, If within the serial interrupt, the "timer 0 interrupt" is called because of timer overflow, does it wait in line to be processed, or does it get ignored? |
Topic | Author | Date |
serial port buffer | 01/01/70 00:00 | |
Mass confusion of terms | 01/01/70 00:00 | |
... | 01/01/70 00:00 | |
Read about how RS232 Ports to Modem | 01/01/70 00:00 | |
Synchronous - in what way? | 01/01/70 00:00 | |
terminology | 01/01/70 00:00 | |
I will fast forward | 01/01/70 00:00 | |
Please rewind![]() | 01/01/70 00:00 |