2008/12/19 14:52:39
Stefan Uhlemayr
Hi,

similar to the other "Flying with ..."-threads, which were already initiated by Dennis (Neiwiertz), I want to start a similar thread about software. As I have programmed up to now only 8-bit-PIC's, and this only in assembler, I am only able to add links to useful assembler posts. It would be pretty nice, if other members could help to improve this "library of useful links". Feel free to send me a pm, if you think, that a link to a post should be posted here or add it yourself here. Thanks!

Have fun!Smile
2008/12/19 14:54:39
Stefan Uhlemayr
-------------------------------------------------------------------
[ Tutorials:                                                      ]
-------------------------------------------------------------------


Getting Started with Development Tools: from Microchip

Gooligum Electronics PIC Tutorials (baseline- and midrange-PIC's, assembler and "C"): from David Meiklejohn

Elmer 160 (16F84, assembler): from John McDonough

WinPicProg PIC Tutorial (16F628, assembler): from Nigel Goodwin

PIC Microcontrollers (16F84, assembler): from Nebojsa Matic (mikroElektronika)

PIC Microcontrollers - Programming in C: from Milan Verle (mikroElektronika)

PIC18F45K20 - MPLAB C lessons: from Microchip

Arithmetic Tutorials: from Douglas W. Jones

Coin-Cell-Powered Embedded Design (using 18LF4321 in "C", free online book) from John B. Peatman

PIC24 Tutorial ("C30"): from Engscope

Collection of useful ASM30 related links: from MBedder

Six rules for writing clean code: from Matt Gordon

General rules for writing clean assembler code: from MBedder

Efficient C-code for 8-bit-MCU's: from Nigel Jones


-------------------------------------------------------------------
[ Further explanations:                                           ]
-------------------------------------------------------------------

MPASM/MPLINK/MPLIB User's Guide: from Microchip

MPLAB Assembler, Linker and Utilities for PIC24 and dsPIC30/33: from Microchip

MPLAB Assembler, Linker and Utilities for PIC32 MCUs: from Microchip

PIC18 Configuration Settings Addendum: from Microchip

Essential C (a 45 page summary of "C") from Nick Parlante

The C book (free online-book): from Mike Banahan, Declan Brady and Mark Doran

PIC Microcontrollers - Free Online Book, examples with 16F887 from Milan Verle (mikroElektronika)

Digital Filter Design from Zoran Milivojević (mikroElektronika)

Differences between EQU and RES: from Dale Chisholm

Why should I use "BANKSEL" to select the correct bank? from myself and Dale Chisholm

Explanation of the paging in the PIC16-family: from Dale Chisholm

Example of Relocatable Code: from Andrew Jacobs

Arithmetic Operators in MPASM: from Andrew Jacobs

Explanation of fractional numbers: from Jonny Doin

Hard coding a software-breakpoint (ASM, C18, C30, C32): from Jason Kajita


-------------------------------------------------------------------
[ Migration Documents:                                            ]
-------------------------------------------------------------------

Migration a 8-bit-PIC design to PIC1xF1xxx: from Microchip

Migrating a design from PIC16 to PIC18: from Microchip

Migration from 18F to 18FxxJxx: from Microchip

Migration from 18F to 24F - an overview: from Microchip

dsPIC30F to PIC24H Conversion Guidelines: from Microchip

dsPIC30F to dsPIC33F Conversion Guidelines: from Microchip

Other (device-specific) migration documents: from Microchip


-------------------------------------------------------------------
[ Advanced Programming Technics:                                  ]
-------------------------------------------------------------------

Simple co-operative multitasking: from Richard Collett

Different ways for multithreading: from Olin Lathrop

State machine shortcuts: from Michael Kreiman

Protothreads (stackless threads in C): from Oliver Schmidt

Embedded multitasking with small MCUs: Part 1 - State Machine Constructs: from Keith Curtis

Embedded multitasking with small MCUs: Part 2 - Cooperative vs. pre-emptive: from Keith Curtis

Class B Safety Software - AN1229: from Microchip


-------------------------------------------------------------------
[ Tips and Tricks:                                                ]
-------------------------------------------------------------------


8-pin PIC Tips 'n Tricks: from Microchip

CCP and ECCP Tips 'n Tricks: from Microchip

Intelligent Power Supply Design Tips 'n Tricks: from Microchip

Microcontroller Power Managed Tips 'n Tricks: from Microchip

Example of LCD-Code for Picdem2: from violin

Code Module Library: from Dario Greggio


-------------------------------------------------------------------
[ Neat Assembler Tricks:                                          ]
-------------------------------------------------------------------


How to access a variable bit: from Mike McLaren, Harry (1and0) and myself

How to multiply a variable with a real constant: from Richard Collet

Several good DIV- and MOD-routines: from Andrew Jacobs, Philippe Paternotte, Harry (1and0) and Mike McLaren

How to divide a 16-bit-variable with a constant: from Andrew Jacobs

Spreadsheet for calculating the values (see previous Tips): from Dennis Welbourn

How to shift W-register 3 times (left or right) in 2 instructions (PIC18): from Lennart Hedlund

How to exchange 2 registers without a temp-register

Replace only the <mask> bits in <reg> by those in W leaving the rest of <reg> untouched from Danish Ali

Print byte (hex) in W as two ASCII nybbles: from Mike McLaren

Unpacked 3-digit BCD_to_Bin for PIC18: from MBedder and Harry (1and0)

16 Bit Binary to 5 Digit BCD: from Andrew Jacobs

PIC Microcontroller Radix Math Methods: from 'piclist.com'

Check the Rotary Encoder A and B switches for a change from Mike McLaren

Vertical counters for implementing repeating keys: from Mike McLaren and Jonny Doin

Fast, short square root for PIC18: from schen

Explanation how to compute a square root: from John N. Power

Bit-banged SPI-slave: from Jonny Doin

Makros for comparing two registers: from Harry (1and0)

Conditional (content of a register) register-copying (or how to use the "C"-bit as Zero-bit): from Harry (1and0)

Conditional branch depending on two bits: from Dario Greggio

Case select in assembler (for some (not-successive) select-points): from Richard Collet

Computed GOTO (index 0-63) for PIC18: from Mike McLaren

Computed "GOTO" (index 0-255) for PIC18: from Olin Lathrop

Null-terminated string-tables in program-memory: from Mike McLaren

Cycle-accurate variable delay-routine (11..524298 cycles): from Michael Bond and Mike McLaren

32-step-software-PWM (for driving LED's): from Mike McLaren

8-channel 256-step-software-PWM (for PIC16 and PIC18): from Mike McLaren

"Gamma" correction-table for LED-brightness: from Leo Bodnar

Calculating parity for 8-bit-values: from Daniel


-------------------------------------------------------------------
[ "C"-related topics:                                             ]
-------------------------------------------------------------------


Explanation of using the "volatile"-qualifier: from John Temples

FAQ about C on PIC (like: Can I make an array of port-pin's?): from John Temples

Error: section '.udata_main.o' can not fit the section: from John Temples


-------------------------------------------------------------------
[ Interesting projects:                                           ]
-------------------------------------------------------------------


USB PIC related open source projects: from Xiaofan Chen

Open Source Bootloader for dsPIC30: from Mikael Gustafsson

Bootloader for dsPIC30: from Daniel Chia

Add a SD-card to EIP10-board: from lcoulon (project still in progress)

SD-card Enc28J60 Web-Server and FTP-server from Nimish Yedurkar (project still in progress)

PIC handheld debugger: from Jaromir Sukuba

LCD Oscilloscope for Spectrum Analyzers: from Matjaz Vidmar

MiniBasic for PIC32: from Malcolm McLean and others

Oscilloscope and signal generator realized with PIC18F4550: from Hristian Todorov

8-channel USB-Logic-Analyzer based on PIC18F4550: from Mark Csele

Special thanks to all of these very knowledgeable people, only their knowledge makes such a summary possible... Smile

Additional big thanks to Dennis (Neiwiertz) for sending a lot of links to me (I hope, this way we can improve the clarity of this list).

Finally, big thanks to Jason Kajita, too. His blog is really a good source...Smile
2008/12/19 15:36:38
DarioG
Thank you Stefan Smile
2008/12/19 17:34:31
GlennB
I applaud your initiative and believe that you will be a good keeper for its care-taking.

Glenn

2011/02/04 15:41:57
nardev
The best thread seen so far on this forum :) thnx Stefan Uhlemayr
2020/01/28 05:11:18
mjr93
Very helpfull!
2020/03/25 00:09:12
Neiwiertz
mjrodrigues
Very helpfull!

 
Cool Reply @mjrodrigues
Don't hesitate to start any Simular Favorites Gallery List(s), can use hyperlinks using this syntax within a msg
[link=h t t p s://www.microchip.com/]HelloWorld URL: h t t p s://www.microchip.com/[/link]
HelloWorld URL: https://www.microchip.com/
 
if any anybody knows a resort of those code tags syntax let know,
i searched unfortunately recently for an overview/ cheatsheet :) at the http://www.aspplayground.net/
2020/03/26 14:59:49
WeHongKongers
Hello,
Is there a Complete Definition List of PIC XC8 built-in functions, variables, structures, etc. and with concise explanation of each of this definition?
 
I want to find the correct thing for my application the fastest way.  mr green
 
Thank You!
2020/03/26 15:04:29
ric
HKPhysicist
Is there a Complete Definition List of PIC XC8 built-in functions,

In the XC8 User Guide, "Appendix A. Library Functions"
 

variables, structures, etc.

You need to check the device specific header file for the PIC you are using.
C:\Program Files (x86)\Microchip\xc8\v2.10\pic\include
 
© 2021 APG vNext Commercial Version 4.5

Use My Existing Forum Account