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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/07/07 05:28
Read: times


 
#134441 - More info
Responding to: ???'s previous message

Eugene, you need to do a bit of reading and break the problem down into small parts (others have mentioned this).

As for accessing the internal SFRs (special function registers) in 'c', the compiler normally has an include file that describes these. Thus in 'c', it is similar to assembler like:

#include <8051.h> //different compilers have different names

SBUF = ' A';

Depending on your compiler and configuration, sending a string of characters should be as easy as:

printf("ATI\r\n");

but printf is a large piece of code.


So to break down your tasks:

1/ implement the full RS232 interface. Port pins are used for the control signals.

2/ initialise the uart

3/ have functions to read write characters to the uart. You will probably have to use 'circular buffers' on the receive side along with interrupts so that no characters are missed.

4/ Write code to send the appropriate commands to the modem and respond to the RS232 interface as required. This is a large job in itself - lots of reading and fiddling involved.


Once you've got this far, having it dial, answer etc show be fairly easy.

One thing you need to remember is that the modem does not respond immediately - they can take a little time (100's mS) so you need to incorporate some timing functions that allow you to time events. This could be as simple as a delay() function or more sophisticated.

I would suggest you connect the modem to your PC and use Hperterminal (or terminal program of choice) to manually operate the modem. This way you can send commands manually and see how the modem responds.







List of 72 messages in thread
TopicAuthorDate
Serial Communication Related Problem            01/01/70 00:00      
   partial answers            01/01/70 00:00      
      Oh yeah, i forgot about that            01/01/70 00:00      
   FIRST, THEN, THEN, THEN            01/01/70 00:00      
      A little bit of sarcasm as usual but often helpful            01/01/70 00:00      
         Proper baud rate...            01/01/70 00:00      
            baud rate            01/01/70 00:00      
               calculator            01/01/70 00:00      
            modem is autobauding            01/01/70 00:00      
               Noted            01/01/70 00:00      
   Some answers            01/01/70 00:00      
      Thanks for a patience reply            01/01/70 00:00      
   Nothing to add, but ...            01/01/70 00:00      
      i second(ed) that motion            01/01/70 00:00      
         My location profile?            01/01/70 00:00      
            with this known, it would do no good ...            01/01/70 00:00      
               Radio Shack            01/01/70 00:00      
                  Even so            01/01/70 00:00      
                     I can buy it from the local electronic shop            01/01/70 00:00      
            Sarcasm            01/01/70 00:00      
               I agree            01/01/70 00:00      
      Thanks for understanding and recommendation! - NT            01/01/70 00:00      
      More info            01/01/70 00:00      
         you need to understand the parameters.            01/01/70 00:00      
            "more valid" evidently means invalid            01/01/70 00:00      
            not quite            01/01/70 00:00      
               What a wonderful example that when total crap is s            01/01/70 00:00      
                  lesson            01/01/70 00:00      
            No, it doesn't            01/01/70 00:00      
   TxD pin to TxD pin?            01/01/70 00:00      
      dte-dce-dce-dte            01/01/70 00:00      
         Noted! Thanks!            01/01/70 00:00      
            same request question            01/01/70 00:00      
      Meaning of "Transmit"            01/01/70 00:00      
   same request question 2            01/01/70 00:00      
   Initial command sending code; help me take a look!            01/01/70 00:00      
      Make it simple for yourself            01/01/70 00:00      
         Why the need of circular buffer? Receiving?            01/01/70 00:00      
            polling versus interrupt            01/01/70 00:00      
               Check OK string at RXD or DCD at interupt?            01/01/70 00:00      
                  no good            01/01/70 00:00      
                     Voice mode only! No data communication.            01/01/70 00:00      
                        you are missing the basics            01/01/70 00:00      
                           NO carrier sent after DCD didn't found            01/01/70 00:00      
                              I do not agree            01/01/70 00:00      
                                 Interupt DCD signal for clear transmission            01/01/70 00:00      
                        For Voice Dialling            01/01/70 00:00      
                           and by the way            01/01/70 00:00      
                           Sorry for multiposting            01/01/70 00:00      
                           The ";" works but...            01/01/70 00:00      
                              ";" to return to idle state            01/01/70 00:00      
                              +++ with 3 seconds no modem activity            01/01/70 00:00      
                                 +++ escape sequence            01/01/70 00:00      
                                    Monkey See. Monkey Do.            01/01/70 00:00      
                                       Now monkey also understand?            01/01/70 00:00      
                                 Are you mistaken?            01/01/70 00:00      
                                    I think so            01/01/70 00:00      
            Circular buffers            01/01/70 00:00      
               Initial code for receiving modem response            01/01/70 00:00      
                  don't fiddle with the timer, let it run            01/01/70 00:00      
                     Understood, will run TR1 in global init, thx! - NT            01/01/70 00:00      
                  check this out, Eugene...            01/01/70 00:00      
                     Ah! Didn't know that! Thanks! -NT            01/01/70 00:00      
                     Code; modem commands & responses            01/01/70 00:00      
   V.250 (formerly V.25-ter) - get it free!            01/01/70 00:00      
   code,modem command and response            01/01/70 00:00      
   system froze when connected to hyperterminal            01/01/70 00:00      
      Your code...            01/01/70 00:00      
         It should not be a hardware problem since..            01/01/70 00:00      
            Not necessarily            01/01/70 00:00      
      Just taking a stab at it...            01/01/70 00:00      
         two 'ugly' guesses            01/01/70 00:00      

Back to Subject List