SinelaboreRT Header Logo

SinelaboreRT

It's better when it's simple!

User Tools

Site Tools


wiki:examples:pic_tutorial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
wiki:examples:pic_tutorial [2019/05/01 21:18]
pmueller
wiki:examples:pic_tutorial [2019/06/22 12:16]
pmueller [Getting started with the PIC16F18446 and State Machines]
Line 1: Line 1:
 ====== Getting started with the PIC16F18446 and State Machines ====== ====== Getting started with the PIC16F18446 and State Machines ======
-This tutorial explains ​to use of state machines with the [[https://​www.microchip.com/​DevelopmentTools/​ProductDetails/​DM164144|PIC16F18446 Curiosity Nano]] board. It provides 2k of RAM and 16k program memory. More than enought for this small tutorial.+This tutorial explains ​the use of state machines with the [[https://​www.microchip.com/​DevelopmentTools/​ProductDetails/​DM164144|PIC16F18446 Curiosity Nano]] board. It provides 2k of RAM and 16k program memory. More than enought for this small tutorial. 
 + 
 +{{ :​wiki:​news:​pic16f18446.png |}} 
 +(Source: Microchip)
  
 Install the required software if you want to follow all steps yourself. Otherwise just go on reading. Install the required software if you want to follow all steps yourself. Otherwise just go on reading.
Line 10: Line 13:
 For this tutorial we will use just the push botton and the LED on the board. So you can follow it without any additional hardware required. The LED shall blink all the time. The frequency can be changed from slow to fast by pressing the button. Simple enough but sufficient to show all the key concepts we are going to use. For this tutorial we will use just the push botton and the LED on the board. So you can follow it without any additional hardware required. The LED shall blink all the time. The frequency can be changed from slow to fast by pressing the button. Simple enough but sufficient to show all the key concepts we are going to use.
  
-The PINs are allocated ​as shown in the next figure ​using the MPLAP X IDE pin manager. The 4MHz system clock and the 10ms Timer0 ​timer tick were also configured with the Resource Manager. I've not used this configurator before. But have to say that it is a very convinient way to setup the hardware. I would wish to have the same for the MSP430 μCs I also often use.+The PINs are allocated using the MPLAP X IDE Resource Manager as well as the 4MHz system clock and the 10ms Timer0. I've not used this configurator before. But have to say that it is a very convinient way to setup the hardware. I would wish to have the same for the MSP430 μCs I also often use.
  
-===== Step 1 - Deciding the system ​archtecture ​=====+===== Step 1 - Deciding the system ​architecture ​=====
 For small systems e.g. sensor nodes it is usually sufficient use a main loop design. The main loop cycles endlessly and waits for events. Events are benefitially stored in an event queue. The queue is filled from timer events, other state machines (cooperating machines) or interrupt handlers. If events are available the state machine(s) are called from the main loop to process them. For small systems e.g. sensor nodes it is usually sufficient use a main loop design. The main loop cycles endlessly and waits for events. Events are benefitially stored in an event queue. The queue is filled from timer events, other state machines (cooperating machines) or interrupt handlers. If events are available the state machine(s) are called from the main loop to process them.
  
-In our little example events are sent from the keyboad interrupt and from a software timer module which is called regulary from the cyclic hardware timer. The following figure shows the system ​archtecture.+In our little example events are sent from the keyboad interrupt and from a software timer module which is called regulary from the cyclic hardware timer. The following figure shows the system ​architecture.
  
 {{ :​wiki:​mainloop_ext.png?​400|}} {{ :​wiki:​mainloop_ext.png?​400|}}
Line 115: Line 118:
    
 {{tag>​[PIC Application_Example]}} {{tag>​[PIC Application_Example]}}
- 
  
wiki/examples/pic_tutorial.txt · Last modified: 2019/12/09 20:00 by pmueller