Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/03/05 08:39
Modified:
  09/03/05 08:40

Read: times


 
#100516 - Next step
Responding to: ???'s previous message
You next step should be to start a simple serial IO project - just serial IO, no PWM, nothing else.
(probably also start a new thread - with a reference back to this one).

Start with something really simple that just configures the UART (baud rate, etc) and sends a simple message such as "Hello, World!" - don't try interrupts yet, just send 1 character, wait for TI, send the next character, etc...
I wouldn't even try to do it in a loop at this stage.

Run this on a simulator, and you should see the message come up in the simulated serial output.

Connect this to a PC and hypoterminal (or whatever) - if you see the message correctly, you know that you have the UART configured correctly, and all your hardware & cables are working.

Once this is working, be sure to save this project so that you can go back to it if everything goes terribly wrong later...

Now, take a look at that interrupt-driven serial code I found earlier (or some other example, if you prefer):
http://www.8052.com/forum/read.phtml?id=100452

Adapt your initial project to use this interrupt-driven interface to send the message; Simulate; Test in-target.

Again, save this project once it's working.

Now, try making it wait for a receied character (via the interrupt stuff) before sending the message.
Simulate; Test in-target; Save the project.

Now you could try a crude performance test:
Have your main loop wait for received characters(via the interrupt stuff); each time it receives a character, have it transmit that character straight back again (also via the interrupt stuff).
Now, anything you type at hypoterminal you should see echoed straight back.
Take you receive & transmit wires, and connect them to separate COM: ports on your PC (or separate PCs, if you don't have multiple COM: ports):
COM1:  Tx ---------------> 8051 Rx
                              |
                              |
                              V
                             your
                             code
                              |
                              |
                              V
COM2: Rx <---------------- 8051 Tx
Now, anything you type at the hypoterminal on COM1: (say) should appear on the hypoterminal on COM2:.

Type suffifient characters to check that your buffer wrap-around is working.

Now you can test the performance by sending a file from COM1: to COM2:, then use the PC to compare the two files - you don't want to see any missing or corrupted bytes!



List of 85 messages in thread
TopicAuthorDate
Laser system serial port com            01/01/70 00:00      
   MHz?            01/01/70 00:00      
      11.059            01/01/70 00:00      
         also...            01/01/70 00:00      
   Even more... anybody got any ideas?            01/01/70 00:00      
      Values in            01/01/70 00:00      
   text???            01/01/70 00:00      
      thanks so far            01/01/70 00:00      
         Back to basics            01/01/70 00:00      
         Oh, come on...            01/01/70 00:00      
      "Program" or "Code?"            01/01/70 00:00      
   Oh dear...            01/01/70 00:00      
   Fundamental Comms Problem            01/01/70 00:00      
   Serial Code - Doomed!            01/01/70 00:00      
      this is getting ridiculous            01/01/70 00:00      
         learning process            01/01/70 00:00      
            oh well            01/01/70 00:00      
               agreed - waiting for the real stuff :-)            01/01/70 00:00      
            cart before horse            01/01/70 00:00      
               weekend approaching?            01/01/70 00:00      
                  sure we can, but then why do you say the            01/01/70 00:00      
   this belong in the chat, but since it is            01/01/70 00:00      
      hrm            01/01/70 00:00      
         make an effort do not "whip up some code            01/01/70 00:00      
            facts & emotions            01/01/70 00:00      
               k            01/01/70 00:00      
                  Good luck with the 430's            01/01/70 00:00      
                     int            01/01/70 00:00      
                        Slight misconception.            01/01/70 00:00      
                           Next step            01/01/70 00:00      
         -1 provocative troll            01/01/70 00:00      
            read            01/01/70 00:00      
               which derivative?            01/01/70 00:00      
                  dallas            01/01/70 00:00      
                     DS89C420            01/01/70 00:00      
                        system im using            01/01/70 00:00      
                           int            01/01/70 00:00      
                              Process            01/01/70 00:00      
                                 Why do you persist            01/01/70 00:00      
                              2 byte protocol            01/01/70 00:00      
                                 Intersting, but...            01/01/70 00:00      
                                    very interesting            01/01/70 00:00      
                                       How to proceed            01/01/70 00:00      
                     a problem and a suggestion            01/01/70 00:00      
   Problems many & varied            01/01/70 00:00      
      Begin at the beginning!            01/01/70 00:00      
         started again            01/01/70 00:00      
            Re: started again            01/01/70 00:00      
               ah crap.            01/01/70 00:00      
                  ah my eyes!            01/01/70 00:00      
                     continued..            01/01/70 00:00      
                        Second UART            01/01/70 00:00      
                           int vector            01/01/70 00:00      
                              Look at the datasheet !            01/01/70 00:00      
                                 yup            01/01/70 00:00      
            serial port 1 interrupt vector            01/01/70 00:00      
               okay            01/01/70 00:00      
                  Still not OK            01/01/70 00:00      
                     ISR reset            01/01/70 00:00      
                  take rest            01/01/70 00:00      
                     rest........            01/01/70 00:00      
                        STOP            01/01/70 00:00      
                        just to be sure...            01/01/70 00:00      
                           man int triggering            01/01/70 00:00      
            Craig, please remove this thread this is            01/01/70 00:00      
               Request            01/01/70 00:00      
   num            01/01/70 00:00      
      again            01/01/70 00:00      
         Thanks ALOT Jan !!            01/01/70 00:00      
            works, so now do the reading            01/01/70 00:00      
               serial port int            01/01/70 00:00      
                  transmit            01/01/70 00:00      
                     transmit            01/01/70 00:00      
                        Oh dear            01/01/70 00:00      
                           I dont give up.            01/01/70 00:00      
                              er            01/01/70 00:00      
                                 brains?            01/01/70 00:00      
                                    Or lack thereof...            01/01/70 00:00      
                              Persistance is a virtue            01/01/70 00:00      
                                 basics            01/01/70 00:00      
   updated            01/01/70 00:00      
      Solve i problem at a time            01/01/70 00:00      
   one more problem knocked down            01/01/70 00:00      
      PWM spoiled by Rx            01/01/70 00:00      
         lines            01/01/70 00:00      

Back to Subject List