Оба файла uart.c и uart.h подключаю к проекту с помощью Add files.. в результате при компиляции вылазит ошибка о том что переменная char rx_buf[RX_BUF_SIZE]; определна дважды. Если все делать без хидеров в одном файле main.c работает. Что я делаю не так?
Угу. Сергей Борщ прав. Объявлять/декларировать глобальную переменную нужно только в одном СИшном модуле. В других ее (их) нужно включать как внешние через квалификатор extern.
Если уж разбивать на модули, то в main не нужен rx_buf. Его должны использовать только функции uart.c а main оперирует с функциями из uart. Или наоборот буфер в main и передавать в uart ссылку на буфер. Смотря какая задача. Это ООП получается )
Сообщение отредактировал dek_t - Jun 24 2007, 12:24