Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : PIC32 code
Page 1 of 2 | |||||
Author | Message | ||||
MOBI Guru Joined: 02/12/2012 Location: AustraliaPosts: 819 |
I would like to write code for the PIC 32 chip. I have downloaded the MPLAB X package and tried to set up for a new project. I never used to have any problems setting up a project for 8 bit pics using MPLAB IDE in the past. In the set up, I get as far as selecting the compiler but system says none available. Is there anything specific I need to do to get a project running. Has anyone used MPLAB X or is there a better(another) way of writing C code for the PIC 32?? David M. |
||||
kiiid Guru Joined: 11/05/2013 Location: United KingdomPosts: 671 |
Unless you are using some OS different from Windows, I would recommend keep going with the MPLAB 8.x MPLAB X may look much fancier, but in fact is a typical example of overdoing options and controls and you will not experience any improvement in the way you write with it. http://rittle.org -------------- |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Hi David, Geoff has a rundown on 'C' compilers for the PIC on his website C reviews. You might want to check that out.It doesn't talk about the old and new MicroChip IDE's but then MPLAB X wasn't out then. Greg |
||||
MOBI Guru Joined: 02/12/2012 Location: AustraliaPosts: 819 |
Thanks Greg, I'll have a look at Geoff's c review after this. In the meantime today, I downloaded a C compiler for PIC32 from microchip. I called it up using MPLABX and at least it now lets me create a project. One small step - more to come. Any input is gold!! Even if I can get the pic32 to just flash a led it will be a big start. David M. |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
I think MPLab X is the way forward, future chips for instance. The support for the IDE 8 will stop someday. I have to bite that bullet too as i am used to the IDE 8 version. Microblocks. Build with logic. |
||||
MOBI Guru Joined: 02/12/2012 Location: AustraliaPosts: 819 |
I had a read through Geoff's review and since I now have the microchip compiler, I'll try and stick with it until the brick wall wins. For the 8bit pics I use assembler anyway. Meanwhile, I'll need to find an example or two to see how to get started. Microchip's documentation as I have nearly always found it is vague and inadequate to the extreme. It is a wonder that I still have any of my greying hair left. If anyone has "flashed a LED" on a PIC32 I'd be grateful of the guidance. David M. |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3802 |
Olimex sell various PIC32 boards and provide such samples free on their web site - no need to buy any boards. John |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3194 |
Flash a LED 1: // Configure for 20MHZ using the 8MHz internal oscillator 2: #pragma config FNOSC=FRCPLL, FPLLIDIV=DIV_2, FPLLMUL=MUL_20, FPLLODIV=DIV_4 3: 4: #include <plib.h> // include PIC32 peripheral library 5: 6: main() { 7: int i; 8: 9: SYSTEMConfigPerformance(20000000); // optimise for speed 10: mPORTDSetPinsDigitalOut(BIT_1); // make RD1 (LED) an output 11: 12: while(1) { 13: mPORTDToggleBits(BIT_1); // flip the LED off/on 14: for(i=0; i<416000; i++); // 250mS delay at 20MHz 15: } 16: } Line 1 Comments start with a double slash (//) Line 2 This sets the configuration parameters for the chip (sometimes called the "fuses"). The first entry (FNOSC=FRCPLL) sets the clock source to the internal oscillator (8MHz) via the phase locked loop (PLL). The second entry causes the oscillator to be divided by 2 before being applied to the PLL. The third entry sets the PLL multiply ratio to 20. This means that the internal oscillator after being divided by 2 will be multiplied by 20 thereby giving an output from the PLL of 80MHz. The last entry causes the PLL output to be divided by 4 before being used by the core processor, which therefore runs at 20MHz. By varying this last entry you can change the core speed with DIV_1 giving 80MHz and DIV_2 giving 40MHz. Line 4 This includes standard code that defines the library functions that we will use. Line 6 The program starts running at the beginning of the function main(). The curly bracket marks the beginning of the function and the closing bracket on line 16 marks the end. Line 7 We define an integer for later use. Note that all integers default to a signed 32 bit number. Line 9 This calls a library function to optimize the chip for the clock speed that we are running at (20000000 Hz). The optimisations include setting up the instruction cache and wait states for memory access. Line 10 This calls another library function to set RD1 as an output. RD1 is pin 49 on a 64 pin chip. Line 12 This sets up an infinite loop so the LED will keep flashing forever. Line 13 We call another library routine to toggle the state of the RD1 output from high to low or vice versa. This is where the LED is turned on or off. Line 14 This is a delay routine to prevent the LED from flashing too fast. Counting to 416000 takes about 250mS when running at 20MHz. Geoff Geoff Graham - http://geoffg.net |
||||
MOBI Guru Joined: 02/12/2012 Location: AustraliaPosts: 819 |
Hi Geoff, Thanks heaps for the demo and explanations. I've never programmed a PIC in C before Although I can programme in C++, the PIC version is a new and different ball game. I've started making headway on the MPLAB X IDE and have got a couple of nonsense programmes to compile. Getting there. Like Rome - not built in a day. regards David M. |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
David, the book that Geoff recommends on his website is very good and works your way structurally through most aspects of the the PIC32, projects using those aspects and the 'C' code to do it (not that I've done it yet). It's also got a companion CD-ROM which has all the code/project examples in it to make life easier, and a 'C' compiler. There's a 'companion' website at PIC32 book. The downside is that it isn't cheap but I think it's worth the money (or it was a few months ago). I chased around for the best price I could get then and that was $55 at Fishpond. I've just checked it and unfortunately it's now $75 - ouch, the difference between a 110c dollar and a 92c dollar. There's no postage at least, and mine arrived after about 10 days. The Fishpond link for it is: Fishpond PIC32 Greg |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
That is a ridiculous price, no wonder there are illegal copies. I bought mine for 400 baht (about 14US$) in a bookshop that went out of business. The book is good as it collects all the necessary things and have many little projects. Best you read it from top to bottom. Microchips documents are not the easiest to follow and you need multiple pdf's open to get things together. As such the book is a real time saver and cuts through a lot of stuff that is not important when you are starting out. Microblocks. Build with logic. |
||||
djuqa Guru Joined: 23/11/2011 Location: AustraliaPosts: 447 |
Actually it is a great price for a hardcover reference book in Australia. VK4MU MicroController Units |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
Still you read it once and then you use the accompanying website. I think a one time membership of his website for 10-20US$ and be able to access the information would be much better. Probably hundreds if not thousands would go for that offer. Straight into the authors pocket instead of being divided by many parties earning him maybe a few dollars a piece. The website is were the most value is. Most books just collect dust, mine has already been given to someone else. The Microchip forum is another great resource with helpful people if you get stuck with a problem. Books are not really the best resource anymore as the content is static and you can not ask a book about a specific problem you have. Which reminds me of something i wondered about. Geoff why you not have a "donate" button on your website? Supporting good work gives people (me) a good feeling.) Microblocks. Build with logic. |
||||
djuqa Guru Joined: 23/11/2011 Location: AustraliaPosts: 447 |
Books are still valuable resources. I have e-book readers, tablet computers, laptops, PC's and yet I still enjoy reading a REAL Book. But each to their own. VK4MU MicroController Units |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
That is why i said 'not really the Best' and in the context of the PIC32. For the fast changing world of computers it is not really working very well. Ask any university student. Now for reading fiction, philosophy and more, nothing beats a book. Microblocks. Build with logic. |
||||
djuqa Guru Joined: 23/11/2011 Location: AustraliaPosts: 447 |
Most can hardly read given the current state of education. VK4MU MicroController Units |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
Boy do i agree with that. University level now is like high school from the past. Microblocks. Build with logic. |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Well, the book I bought for $55 was just a paper back and so is the $76 one - still, by the time it wears out we'll all be into 64 bit micros! I bought myself a Kindle a couple of years ago David, thinking that I'd be able to access tech books for a lot less. They're certainly cheaper but after buying just one I gave it up because the diagrams were unreadable! TZ, your idea sounds good, $10 access to the full book, and the forum - let me know if it happens! But yes, it presumably would be good for the author - but then where's the incentive for the publisher and the advertising of it. It would probably be a good option though for the authors that are already well established, like de Stasio, Jan Axelson etc. Greg |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3802 |
The author may not have the right to do that, even if he wanted to, now that it's a book. BTW, I would not be asking almost anyone now a student. Attention span, what's that? John |
||||
MOBI Guru Joined: 02/12/2012 Location: AustraliaPosts: 819 |
Hi all, Looks like I stirred up a bit of interest into PIC32 programming. One of our TBS cobbers sent me an ebook on PIC32 by Lucio Di Jasio. I'm not too far into it yet as I have been travelling and only got home from ACT this evening. So far, it looks like a very handy book and written in an easy style. I will need to do a bit of search/research into the various #include files and their functions. How many of the members of TBS write C progs for PIC32? David M. |
||||
Page 1 of 2 |
Print this page |