Я снова с своим быдлокодингом для STM8S. Собственно, следующая структура : - main.c с «главной» частью программы. - gpio.h с gpio_init(), gpio_read(uint8_t pin) и некоторыми переменными (которые можно и вынести, но хотелось бы понять, что я делаю не так). - gpio.c с реализацией функций из gpio.h
Т.е. примерно так main.c
#include "gpio.h"
int main() {
gpio_init();
...
}
gpio.h
#ifndef GPIO_H
#define GPIO_H
...
GpioConfigType config;
void gpio_init();
...
#endif
gpio.c
#include "gpio.h"
...
Команды сборки мейком выполняются следующие:
# sdcc -c -mstm8 -I lib/stm8/inc -D STM8S003 -o build/ gpio.c
# sdcc -c -mstm8 -I lib/stm8/inc -D STM8S003 -o build/ main.c
# sdcc -mstm8 -I lib/stm8/inc -D STM8S003 -o build/ build/gpio.rel build/main.rel
Multiple definition of _config
Что может быть не так? config в main.c не применяется - т.е. можно и в gpio.c вынести, но не хотелось бы.