About the author

  • shankr

    HI macha..gr8 work keen and clear tutorial, very easy to understand…I m beginner to arm and this helping me a lot…thx a ton! WHen Will b i2c and spi b available…I also request you to do for CAN as well.

  • ketan

    Sir your tutorials are very helpful for a newbie…Sir i have to design a uart driver from scratch as my project.It will be very kind of you if you guide me further with the codes along with the explanations as soon as possible.

  • Chinmaya

    Hi Umang Gajera ,
    Good Work.. I guess in ur Example 1 ( PCLK = 30 Mhz and Required Baud Rate is 9600 bauds.) , the final value of DIVADDVAL shuld be 1 not 0.

  • Gopi M


    i have one doubt, since we are using a controller having logic voltage level 3.3v then your are using MAX 232 IC.

    MAX 232 is dealing with 5v logic voltage level

    MAX 3232 is dealing with 3.3v logic voltage level


    for logic voltage level 3.3v we have to use MAX 3232

    for logic voltage level 5v we have to use MAX 232

    we have to use MAX 3232 only know ….

  • shankar

    Umang gajera your tutorials were very helpful and I am waiting soo long for your new post please don’t stop this work…you may be busy please spend sometime to update the post there are lot of followers of your post like me.

    • Hi shankar , I am really sorry for not posting LPC2148 for nearly 6 months. But good news is that I have resumed my work. Next LPC2148 tutorial is on its way. 🙂

      • shankr

        Thanks bro thats gud to hear

  • Bohan Wang

    Thank you for the very nice tutorial. I just have one tiny question. I did not see you declare the registers such as U0RBR. And there is no header file included. Is it taken care by the Keil compiler? Thanks.

    • Power_user_EX

      Hi Bohan. No, you need to include the header file ‘lpc214x.h’ explicitly. All registers including U0RBR are defined in lpc214x.h header. The “#include” line in the program is missing “”. There is an issue with the website backend – its considering ” as an HTML tag instead of code. Will fix it soon 🙂

  • vikas vikeee

    in initialize block instead of using U0FDR u used U0LCR to set mul value and divadddr value can u explain plz

  • vikas vikeee

    plz mail te reason to my mail id itsmevikas16@gmail.com tnk u….

  • vikas vikeee

    in example program U0FDR is used properly but in explanation it is not tnk u i finally got!!!!