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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/27/06 17:49
Modified:
  02/27/06 18:13

Read: times


 
#110863 - putchar C51 serial communication problem
hi everyone,

I have this problem on C51 compiler or perhaps the Keil simulator.The target hardware is ATMEL AT89c52. Normally, I believe TI bit is set by hardware (UART???) on the completion of data transfer. I wrote asm code (same as on tutorial's) and simulated in keil. I found that TI bit is set by the simulator upon the completion of the transfer. but when I write the same in C (using putchar()),the simulator seems to wait for my setting the TI. so, is the TI bit set by the software/us or done by hardware? The tutorial says "clear TI" before writing to SBUF. But putchar() works only when I include TI=1; before putchar().So, I went on to write my own putcar(), same as ASM code of tutorial except in C (meaning not using XON/XOFF and other addons). but the simulator seems to know what I was upto and refused to budge.
I read excellent tutorials (serial.pdf and RS232gd.pdf) written by excellent people and I have somewhat acquainted myself with serial comm.
Another question of interest is whether one has also to set TL1 also for mode 1 serial communication. Most tutorials give just value of TH1=XXH. What about value of TL1??

bye,
Monish C









List of 24 messages in thread
TopicAuthorDate
putchar C51 serial communication problem            01/01/70 00:00      
   Keil putchar source            01/01/70 00:00      
   putchar() reworded            01/01/70 00:00      
      TI            01/01/70 00:00      
         thanks and here is my C code of asm...            01/01/70 00:00      
            should be obvious            01/01/70 00:00      
               To be fair            01/01/70 00:00      
            C gives higher performance!            01/01/70 00:00      
               Initial conditions            01/01/70 00:00      
                  waiting better than uninten effcy            01/01/70 00:00      
                     Better?            01/01/70 00:00      
                     Math?            01/01/70 00:00      
                     What?????            01/01/70 00:00      
                        no work to do unitl bytes send            01/01/70 00:00      
   OK            01/01/70 00:00      
      or...            01/01/70 00:00      
         That is better            01/01/70 00:00      
            i read about putchar()            01/01/70 00:00      
               Try \Keil\C51\LIB\getkey.c            01/01/70 00:00      
               Keil Library Source Files            01/01/70 00:00      
                  ok            01/01/70 00:00      
                     No and Yes            01/01/70 00:00      
                        but what about AT cmd            01/01/70 00:00      
                           No            01/01/70 00:00      

Back to Subject List