Initial import of goggles v2
[goggles] / getting_started.txt
1 This project is a general template file for the PIC12 Family of
2 microcontrollers.  It's purpose is to provide a project shell for users to
3 get started designing their own applications.  Final qualification and testing
4 of this project is left to the user.
5
6 ADVANCED USER TIP
7
8 From the main menu, refer to the Task list by going to Window > Tasks (Ctrl+6).
9 As long as the task window is not configured to filter out any tasks,
10 the getting started TODO list embedded in this project will be displayed.
11
12 Make sure the 'Show tasks for the main project and for the open projects which
13 depend on it' option is selected on the left hand side of the Tasks window so
14 that tasks related to other projects are not active.
15
16 HOW TO ADD YOUR OWN CODE TO A TEMPLATE
17
18 STEP 1
19
20 First install the appropriate C compiler if you have not done so already.
21
22 See www.microchip.com/compilers
23
24 Next, build this project by clicking the Clean and Build Icon (the hammer and
25 broom symbol) in the MPLAB X IDE Toolbar.  If this project builds, then you are
26 ready to make changes for your own application.  If the project does not build,
27 you need to troubleshoot why the project does not build before moving on.
28
29 STEP 2
30
31 Embed your device's configuration bits into the code.  Instructions for this
32 are commented in configuration_bits.c
33
34 STEP 3
35
36 Unless interrupts are not used in your application, fill in the interrupt
37 vector code.  Code stubs are provided in interrupts.c.  Check the device
38 datasheet to confirm that you are servicing all the relevant enabled
39 interrupts in your application within the ISR.  Note that it is important
40 to check interrupt flags in sequence within one conditional statement to
41 avoid interrupt contention which could result in corrupting the interrupt
42 context.
43
44 STEP 4
45
46 Define system parameters such as the system operating frequency in system.h.
47
48 If your device stores an oscillator calibration value at the end of program
49 memory, incorporate the _READ_OSCCAL_DATA() function in system.c.  The device
50 datasheet will tell you if calibration data is stored at the end of the
51 device memory.
52
53 Add system level functions to system.h and system.c.  For example, if
54 you want a function to determine the reset source of the device to know if you
55 need to backup data, do an oscillator switch, enter a low power mode, etc...
56 these types of functions may be added to system.c and prototypes can go in
57 system.h.
58
59 STEP 5
60
61 Add user level functions to user.h and user.c.  User level functions are
62 functions that initialize I/O, initialize user peripherals like the ADC,
63 compute user algorithms, perform calculations on sampled user data, and so on.
64 User function prototypes and macros may be placed in user.h, and user
65 functions themselves may go in user.c
66
67 STEP 6
68
69 Add code to main.c on the line that says <INSERT USER APPLICATION CODE HERE>.
70 For example, here you would call functions in user.c or system.c, or possibly
71 setup your own state machine or primary code loop.
72
73 Global variables may be added to main.c as well.  As a general practice, macros
74 and prototypes may go in header files, but variable declarations should not
75 go in .h files.  Variable declarations should be placed in .c files.
76
77 STEP 7
78
79 Design the rest of your application.  Add new files to the application, and
80 test the finished product.
81
82 STEP 8
83
84 Document what the project does and include other project information in
85 project_information.txt.
86