-
Notifications
You must be signed in to change notification settings - Fork 1
/
readme
42 lines (29 loc) · 1.21 KB
/
readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Simple small HD44780 LCD library for STM8
Files:
=====
main.c - test and demo
delay.h - delay functions
hd44780.c - implementation
hd44780.h - header
readme - this file
COPYING - licence
Example compilation:
=====
$ make clean && make && make flash
flash target assumes you are using stlinkv2 programmer. Should you use another
version, modify the Makefile to your needs.
The example should print a message to the display. Tested on STM8S-DISCOVERY dev kit.
Connections:
Connections are redefinable as long as the whole data bus is on the
same port. This was chosen to make the code more compact and smaller.
E - PD0
RS - PD1
D4-D7 - PD2-5
Usage:
=====
Include hd44780.h and delay.h in your code, add the c file to the build
path. Define F_CPU_K as CPU speed in KHz. Note that in this project the macro is defined in the Makefile!
delay.h contains LibC-AVR style functions _delay_ms() and _delay_cycl(), and
a macro _delay_us(). All three let you use a variable as a parameter, in contrary to LibC-AVR.
I found sdcc can do *weird things* with those so always check the corresponding .asm file. A badly expanded macro may result in calls to word mul and div, which take extra amount of time!
Happy hacking!