Embedded C programming Tutorial , Keil C ide , microsoftware.gr
Keil CRC and CAN BUS codes.
1. Shift led left
2.It's time for DAVE! <7/6/13>
3.Capture/Compare unit 6
6.Analog converter
7.Memory manipulation routines
8. Recursion
9.Understanding interrupt priorities using CAPCOM2 module
10. POINTERS TO FUNCTION <4/7/13>,<4/28/13>
11.Memory models, memory types
12. The heap , part 1
13. The heap , part 2
14. The heap , part 3
15. Structure example
16. Nested structures, Array of structures.
17. Passing array of structures to function using pointers.<1/5/13>
18. Self Referential Structures
20. Linked list example
21. Circular linked list
22. Union example
23. Enumeration example
24. Watchdog timer example
25. Void pointer example <7/4/13>
26. The sieve of Eratosthenes
27. The stack
28. Union and bitfields as flags example. <6/23/13>
29. Look up table example. <8/11/13>
30. Seven segment display multiplexing -four digits with dot- example
31. LCD character display example - JHD162A
32. Hash table introduction example <8/27/14>
33. Array of Linked Lists example
34. Array of Linked lists-more functions included.
35. Hash table construction,searching and printing.
36. Fininte state machines- a first approach.
37. Finite state machines- two events example.
38. SPI port and an AT25128 serial eeprom hardware.
40. Definite Integral Calculator for Scientists, Engineers...
41 .Hamming distance of a CRC polynomial
42. Linux play starting.
43. Galois GF(2^4) Finite Field
44. Construct your own time triggered real time operating system.
7.Memory manipulation routines

This article explains how sprintf and memcpy functions work.

We will make a memory buffer in three steps adding on it more and more objects, of course in RAM , usisng sprintf function and then we will copy this buffer to an other memory space using memcpy function. So, have a look at Keil memory manipulation routines.

The example C code is here.

The  C code exports at Hyperterminal (at 19,200 kbaud)  the total number of characters that are inside the buffer after each one executed addition step that we have done using sprintf. Also it prints the characters that are inside the buffer via ASC0 using puts function. The objects are stored in buffer as strings so it is counted and the \0 character.
After it the code prints  the content of the new buffer that we made using memcpy. 

 See the result.

* At step three you have to add +2 at the total number of counted chasracters because we added and the string "-+$" terminated with \0.
* ASC0.C file needs line 175 to be added outside DAVE .
Exercise: what is doing this line?