NEW: Learning electronics? Ask your questions on the new Electronics Questions & Answers site hosted by CircuitLab.
Microcontroller Programming » Using source code
August 27, 2009 by Scott |
I must be missing a key piece of information. I am having no trouble progamming my MCU as long as there is a "make" file. I can't figure out how to come up with that file if I just have the source code. For instance the clock code is just a realtimeclock.c file. How do I make the "make" file so I can load it. |
---|---|
August 27, 2009 by hevans (NerdKits Staff) |
Hi Scott, You need to provide a Makefile for some of these projects that are found on our website. The easiest way to get started is to make a directory for that project in your Code folder, and copy the Makefile from a different project (initialload's Makefile works). Then do a replace-all initialload with realtimeclock or whatever your C file is called. Admittedly our guide does not do a great job of explaining the Makefile, we are planning revisions to the guide that better explain it, or a tutorial coming up in the future. Let me know if you have any more questions, I can provide more details as to the workings of the Makefile if you desire. Humberto |
August 27, 2009 by Scott |
Thanks. That was easy. I new what I was trying to accomplish, I just wasn't approaching it the right way. Thanks again. Scott |
August 28, 2009 by Nerdful_com |
What I do is: I have a temp directory with copies of the premade initialload c file and the makefile. When I am testing new code out, I just save source as initialload.c in this temp folder and then run the make file. If I find the code works and is what I want to work on, then I save the file as a new C file then go through with making a new makefile (I just take the one from initialload and replace all "initialload" with "myproject"). I find much of the source codes aren't what I was looking for, so making new makefiles everytime may be frustrating to some (me anyhow). |
August 28, 2009 by mcai8sh4 |
I may as well add my method for new projects : I wrote a little bash script, like a windows batch file, called 'mkproj' (I'll get to the details of this in a second), I also have a makefile template which is just a copy of one of the Makefiles that Nerdkits supplied (poss the tempsensor one) but I've changed the word 'temsensor' with '###' throughout the file. So all I have to do is run the bash script with the name I want (ie. mkprog test) and it automatially creates a dir called 'test', a file within the dir called test.c (and opens it ready for editing) and then copies the template makefile into the directory renameing the '###' with 'test' (using
). It's simple but works really well. Whilst this is my method - I should add that learning about the makefile would certainly help in the longrun, but for us newcomers using a template file is the quick and easy method. |
August 28, 2009 by Nerdful_com |
I still need to learn more about the makefile myself. Sometimes the amkefile needs to be changed (or it will not compile) when using your own/borrowed include files as an example (ones that are not included with WinAVR). HERE is a link to Google/Yahoo AVR makefile search... |
August 29, 2009 by Scott |
Thanks. I got my "make" file figured out and I have been programming the MCU without any problems. I would like to take the real time clock project a little further than the counter but I dont think I can write the code to get a full fuctioning clock. I would like to get a full fuctioning clock and compare its accuracy to other clocks with different frequency standards. I have a 10Mhz Temperature compensated crystal oscillator I would like to use instead of the crystal that comes with the kit. Any ideas or help? |
August 29, 2009 by Farmerjoecoledge |
Hey Scott don't be too suprized if you don't get an answer to your crystal q. mcai8sh4 and nerdful are using your q to face off and only back out when they find they don't know everything. Try not to worry too much about mcai8su4 technical stuff after a while some of it actually makes sense. As for your q sorry don't know for sure about the diffrence just keep reading and if you really need an answer ask the staff directly. |
August 30, 2009 by mcai8sh4 |
Hi Scott - I can't help with the different crystal (not a clue) - but for a clock example try looking at Waywards vicious alarm clock - I think he uses a seperate circuit to get the time more accuratly. For a basic clock, I made a binary clock (easily adapted to show the time normally) - that seems pretty accurate - but I haven't ran it for 'days' so can't vouch for the gain/loss in a real life situation. @Farmerjoecoledge - we're hardly'facing off' we've both found that the more variations of something you see, the easier it can be to understand. I can see where you could get the impression of some sort of 'competition', but there really isn't. |
August 31, 2009 by mrobbins (NerdKits Staff) |
Hi Scott, If your 10MHz TCXO has a CMOS-level output (approximately 5V square wave), you can use the "External Clock" mode of the ATmega168 (see datasheet page 36). However, this would officially require putting changing the fuses on the chip, which requires an ISP programmer. But I am 95% sure that if you just connect your clock signal to the XTAL1 pin (MCU pin #9) and leave XTAL2 unconnected, it should work fine as well. I'm curious -- let me know. Do note that changing the clock frequency changes the baud rate that the serial port runs at (currently set at CLK/128), which may complicate programming with the bootloader. Hope that helps! Mike |
Please log in to post a reply.
Did you know that you can make a capacitive proximity sensor with some aluminum foil and paperclips? Learn more...
|