Hi, Thank you very much for your suggestions. Those are really worthy me. Especially your tease helped me to breathe normally and feel that microcontroller world is not that magical what I thought. "Feel like Alice in Wonderland???" ==>In fact my position is just opposite; because I got nobody beside me here. So, mentally I was depressed. Only help I have is the internet groups and forums. So, I am little bit nervous. I am trying to understand datasheets and started reading the helpfiles came with the IAR workbench compiler. Thank you. --- In lpc2000@yahoogroups.com, Rob Jansen <rob@m...> wrote: > > Mahbub1833, > > feel like Alice in Wonderland ??? > > >I am newbie in microcontroller world as well as in great ARM world. > > > >WORTHLESS TALK: > >Although I know that ARM microcontrollers are for the professionals; > > > > > > Welcome in the wonderfull world of ARM microcontrollers, defenitely not > only for the professionals. > With different not-too-expensive boards and free Gnu C compiler it is a > real nice target for hobbyists also. > > >BLOODY REQUEST: > >My request goes to all great professionals of this group. Please > >make a starting point for us (newbie). More examples and projects > >are needed to learn programming LPC series smoothly. Especially step > >by step tutorial with code would be great. (Please give me some link > >if there any). > > > > > It should not be that hard if you start from the IAR examples - I guess > they have a "Hello World" in the form of a flashing LED or something > similar. These are always nice examples to start from. > There is also a good book from Hitex (called something like "The > insiders guide to the ARM7") to start with. > > >NEED HELP: > > > >I have IAR LPC2148 development kit and J-Link adapter. I tried > >example codes using IAR workbench and those run fine. But I couldn't > >understand the coding with my little PC based programming knowledge. > >Now my questions are- > > > >1. How would I learn C language specified for this particular > >microcontroller? > > > > > There is nothing special or magical about C for the lpc21xx series. It > is just standard (ANSI compliant) C. > You just have to remember that you do not have all resources as you have > on a PC. For printf() you need a console - most development environments > will support this. > For file I/O you need a storage device - not standard available so > forget this for the time being. > Accessing stuff like the LEDs and other I/O on the board need the > different peripheral blocks in the chip. Check out the Philips website > (www.semiconductors.philips.com) and get the datasheet and - more > important - the user manual for your chip. > This user manual contains detailed information on the meaning of all the > bits in the I/O registers. > > Note: all I/O is memory mapped an can be read and written using a > standard C pointer, but it has to be declared volatile - otherwise the > compiler may optimize this out ... > > Okay, you got all this ... > Take your simplest Keil example and try to add code to light an LED on > the board. > > Now you need some hardware knowledge of the board: > When is the LED lit? when the output port is tied to ground or to 3.3V ? > What is the output bit ? > > Assume the LED is lit when tied to ground, you need to program a 0 level > in the output bit. > Assume the output bit is P0.20. > > Start reading the user manual of the 2148. > Chapter 8.4.1 shows the meaning and content of the IODIR register, this > register determines if a bit is an input or output bit. You have to set > bit 20 to make P0.20 an output port: > > IO0DIR |= (1<<20); // Perform a logical OR of IODIR to set bit 20 to 1 > > (note: IO0DIR can also be called IODIR0, it is defined in the lpc21xx.h > - or similar - include file) > > Now all you have to do is set the P0.20 bit to 0, there are two ways to > do this. See 8.4.3, 8.4.4 and 8.4.5 > You can write all bits using the IO0PIN register (you need to apply a > mask to set or reset the bits you want), use IO0SET to set any bits to 1 > or IO0CLR to clear any bits (set bits to 0). > Read the manual: "Writing a 1 produces a low level at the corresponding > port pins" > > IO0CLR = (1<<20); > > You don't need any mask or whatever, just writing a 1 is enough - as is > stated in the manual. > > Now compile the program and download it to your board. > You may want to check that you compile and download into RAM, not in Flash. > Flash has a limited number of write cycles - do not worry too much about > this, it's a large number but for these simple tests it is just a waste > to program flash. > Then download and run using the IAR debugger. > > Please check the IAR / J-Link manuals on this. > > >5. Somebody please upload or link few more codes to learn step by > >step. > > > > > The problem is that we all have our favorite environment. > I use a board from Embedded Artists and they have their own make > environment, farily well documented in the manual. > That manual is available via their web page and an example can be found > somewhere on my ARM page (http://www.myvoice.nl/electronics/) > Check out "Timing your programs" that one contains a simple piece of > code to read a timer and print data on the serial port (UART0). > > > >6. Suppose I want to interface a LDR to the circuit and want to show > >the value in the LCD display. Now which pin (AD) would I use to > >connect the LDR? And what would be the program? > > > > > Read the manual, as far as I know all AD ports are the same. It just > depends on which pin is still available on your board for your own I/O. > > The program is simple: > > 1) initialize A/D (and UART) > 2) start A/D conversion > 3) wait for A/D conversion to be complete > 4) print out value of the UART > 5) repeat ... > > Just start reading the user manual carefully. It's all there - Best is > to read and then drop your detailed questions in this group again. > > >I apologize for my kiddy questions in the professional group. I need > >your help to go ahead in the microcontroller world. > > > we all have to start somewhere. I started about 25 years ago with a home > built 6502 kit from Elektor, meanwhile I have no problems reading > datasheets and user manuals for chips like the lpc2148. > But I do have problems with standard Windows programming and that kind > of things. Programming web tablets, telephones and telephone exchanges > is what I did, but do not ask me to write a Visual C (or Basic) version > of a calculator ... > > Oh, this group is mixed with professionals and hobbyists on all sorts of > levels. So all levels of Questions are welcome! > In time you will be able to tell other how to ... > > Good Luck, > > Rob >
Message
Re: Some worthless talk, A request and Need help
2005-12-14 by mahbub1833
Attachments
- No local attachments were found for this message.