Chapter 1: Hello Embedded World - Programming 16-bit

Download Report

Transcript Chapter 1: Hello Embedded World - Programming 16-bit

Chapter 1
The First Flight
Creating the first project and saying
“Hello to the World”
Checklist
The following tools will be used throughout the course:


MPLAB X, Integrated Development Environment (v1.8 or later,
free)
MPLAB XC16, C compiler (v1.11 or later, free)
The following pieces of documentation will be used during this
lesson:

PIC24FJ128GA010 Datasheet –DS39747 (latest rev.)

PIC24 Family Reference Manual - Section 12. I/O Ports
Make sure they are available and/or installed and ready to use on
your computer.
You can download them from Microchip web site at:
http://www.microchip.com/mplabx
And
http://www.microchip.com/xc16
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
Creating the First Project

Use the New Project wizard:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New Project Wizard: step 2

Select the PIC24 model:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New Project Wizard: step 3

No Header is required:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New Project Wizard: step 4

Select the programmer/debugger of choice:
ICD3
 PICKit3
 Real ICE
 ...

Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New Project Wizard: step 5

Select the XC16 compiler (and version):
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New Project Wizard: step 6

Define the project location (folder) and
assign the Project Name:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New File Wizard:

Use the New File wizard to create a new main
file from a Microchip Embedded template:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New File Wizard: Alternate step1

Use the New File wizard to create a new
empty file:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
New File Wizard: step 2

Assign the name: Hello1.c
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
The First Program: Hello1.c
/*
* File:
Hello1.c
*
* Author: your name here
*
* Created: current date here
*/
#include <xc.h>
Replaces previously used:
#include <p24Fxxxx.h>
int main( void)
{
return 0;
}
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
What’s in <xc.h>

After a selection based on the PIC24 model you
chose for your project, you will find the definitions of
the program counter and other special-function
registers of the microcontroller:
...
extern
extern
extern
extern
extern
extern
...
volatile
volatile
volatile
volatile
volatile
volatile
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
int
char
char
char
int
int
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
PCL __attribute__((__sfr__));
PCH __attribute__((__sfr__));
TBLPAG __attribute__((__sfr__));
PSVPAG __attribute__((__sfr__));
RCOUNT __attribute__((__sfr__));
SR __attribute__((__sfr__));
Meet the Project Window

It contains a “logical” grouping of all the files
that belong to the project
right-click here to
“dock” the window

Note: Like most MPLAB X windows, it can be free
floating or docked!
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
Meet: PORTA
/*
** Hello Embedded World
**
** Hello1.c my first PIC24 program in C
*/
#include <xc.h>
int main( void)
{
PORTA = 0xff;
return 0;
}
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)
don’t forget the semicolon!
Building the Project

There are several ways to achieve the same
result in MPLAB X, select:

Run > Build Project


Or:

Run > Clean and Build Project


Produces a forced recompile of all source files
Or:

Run > Run Project


Will compile all new and changed source files
Will compile all new and changed source files, if successful it will
also program the part using the selected programmer/debugger
Or:

Use the corresponding buttons in the top toolbar:
Di Jasio – Programming 16-bit Microcontrollers in C (Second Edition)