Mam problem z przesyłaniem liczb zmiennopozycyjnych przez port RS232.
kod obsługi uartu jest poprawny, dobrze sprawdza się w innych aplikacjach.
sklejam i wysyłam zmienne w ten sposób
w terminalu odbieram coś takiego
wyczytałem, że aby były wyświetlane odpowiednie wartości a nie znaki zapytania należy zlinkować biblioteki libm.a i libprintf_flt.a, niestety nigdy nie robiłem tego w Eclipse, wydaje mi się że zrobiłem to dobrze, ale nie jestem pewien,
oto podgląd wygenerowanego automatycznie przez Eclipse mfile
czy ww. biblioteki są poprawnie zlinkowane? Jeżeli nie proszę o podpowiedź co należy zmienić.
a może przyczyna tkwi gdzie indziej, proszę o poradę gdyż spędziłem już nad tym dość dużo czasu.
kod obsługi uartu jest poprawny, dobrze sprawdza się w innych aplikacjach.
sklejam i wysyłam zmienne w ten sposób
sprintf(mystr,"\r\n krok %i czas = %d \ty = %d",n,czas,y[k]); // sklejanie stringa mystr
uart_puts(mystr); //wysylanie mystr po RS
w terminalu odbieram coś takiego
krok 1 czas wykonania = ? us y = ?
wyczytałem, że aby były wyświetlane odpowiednie wartości a nie znaki zapytania należy zlinkować biblioteki libm.a i libprintf_flt.a, niestety nigdy nie robiłem tego w Eclipse, wydaje mi się że zrobiłem to dobrze, ale nie jestem pewien,
oto podgląd wygenerowanego automatycznie przez Eclipse mfile
czy ww. biblioteki są poprawnie zlinkowane? Jeżeli nie proszę o podpowiedź co należy zmienić.
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are defined here
-include sources.mk
-include subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(ASM_DEPS)),)
-include $(ASM_DEPS)
endif
ifneq ($(strip $(S_DEPS)),)
-include $(S_DEPS)
endif
ifneq ($(strip $(S_UPPER_DEPS)),)
-include $(S_UPPER_DEPS)
endif
endif
-include ../makefile.defs
# Add inputs and outputs from these tool invocations to the build variables
LSS += \
platforma.lss \
FLASH_IMAGE += \
platforma.hex \
EEPROM_IMAGE += \
platforma.eep \
SIZEDUMMY += \
sizedummy \
# All Target
all: platforma.elf secondary-outputs
# Tool invocations
platforma.elf: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: AVR C Linker'
avr-gcc -Wl,-Map,platforma.map -Llibm.a -Llibprintf_flt.a -mmcu=atmega32 -o"platforma.elf" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
platforma.lss: platforma.elf
@echo 'Invoking: AVR Create Extended Listing'
-avr-objdump -h -S platforma.elf >"platforma.lss"
@echo 'Finished building: $@'
@echo ' '
platforma.hex: platforma.elf
@echo 'Create Flash image (ihex format)'
-avr-objcopy -R .eeprom -O ihex platforma.elf "platforma.hex"
@echo 'Finished building: $@'
@echo ' '
platforma.eep: platforma.elf
@echo 'Create eeprom image (ihex format)'
-avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex platforma.elf "platforma.eep"
@echo 'Finished building: $@'
@echo ' '
sizedummy: platforma.elf
@echo 'Invoking: Print Size'
-avr-size --format=avr --mcu=atmega32 platforma.elf
@echo 'Finished building: $@'
@echo ' '
# Other Targets
clean:
-$(RM) $(OBJS)$(C_DEPS)$(ASM_DEPS)$(EEPROM_IMAGE)$(FLASH_IMAGE)$(ELFS)$(LSS)$(S_DEPS)$(SIZEDUMMY)$(S_UPPER_DEPS) platforma.elf
-@echo ' '
secondary-outputs: $(LSS) $(FLASH_IMAGE) $(EEPROM_IMAGE) $(SIZEDUMMY)
.PHONY: all clean dependents
.SECONDARY:
efile.targets
-include ../mak
a może przyczyna tkwi gdzie indziej, proszę o poradę gdyż spędziłem już nad tym dość dużo czasu.