No masz błąd - bo np w pliku nagłówkowym *.h DEFINIUJESZ zmienną strukturalną :( a tak się nie robi, w nagłówkowych powinny być SAME DEKLARACJE a nie definicje (no może poza funkcjami inline - ale to inna sprawa) Zrób sobie tak w *.h Dodano po 1 zresztą jeśli to jest prosty projekt i tylko te dwa pliki to nawet w *.h nie musisz dawać DEKLARACJI [syntax=c]extern...
https://www.nxp.com/downloads/en/softwar... Rzeczywiście nie rozpisali się w tym doku odnośnie sterowania GPIO za pomocą tej biblioteki, ale to nie jest jakaś tajemnica. Wystarczy zajrzeć do kodu odpowiedzialnego za gpio. [syntax=c]/* gpio_13xx_1.h * (at)brief LPC13xx GPIO chip driver for LPC13(15/16/17/45/46/47) families *...
W pliku lcd.h dopisz extern. extern inline FILE* lcd_GetFile(void);
Musisz niestety troszkę się pouczyć C. Includuje się pliki .h, które zawierają: [syntax=c]/* definicje i makra */ #define STRSIZE 50 /* deklaracje typów */ typedef struct { int a; float f; double d; char c[STRSIZE]; }mytype; /* deklaracje funkcji ale bez definicji (czyli "ciała") */ int foo(int,int, mytype *); /* ddeklarcje extern - zmiennych zdefiniowanych...
Witam, czy poniższy kod zadziała? Chcę wysłać bajt danych do komputera wykorzystując konwerter UART-USB i odebrać w terminalu. Czy poniższy kod zadziała? [syntax=c] #include <stdio.h> #include <stdlib.h> #include <p32xxxx.h> #include <plib.h> #pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1, FWDTEN = OFF #pragma...
Cześć! Poszukuję wsparci gdyż powstał mętlik w głowie. Mam program, który komunikuję się z modułem GSM, używa wielu globalnych tablic, funkcji operujących na strumieniach typu strcpy, str n cpy, strstr, strtok, poniżej wklejam większość deklaracji dużych zmiennych: Dodano po 1 Przeniosłem deklarację StackPoint z .int1 do .int3 i program zaczął wyświetlać...
Okej, zatem spróbujmy przystosować bibliotekę, którą mi podlinkowałeś do moich ćwiczeń ;-) Skopiowałem pliki EVE.h, EVE_commands.c, EVE_commands.h, EVE_config.h, EVE_target.c, EVE_target.h do odpowiednich folderów w projekcie. Teraz tak: W pliku EVE_target.h trzeba wybrać i włączyć jedną z konfiguracji. Jeśli dobrze myślę to mnie interesuje ta konfiguracja,tak?...
Witam, Przepisuję właśnie swój projekt z Bascom'a na C, a właściwie jestem na etapie rozbudowywania programu i mam ostatnio problem ze skompilowaniem kodu. Cały układ to ATMega32 + ADC ADS1100 + LCD NOKIA3310 + MMC Card (na razie tyle ;-)). Jeszcze kilka dni temu program kompilował się prawidłowo (z kilkoma warnning'ami), więc postanowiłem wgrać hex'a...
Zaprojektowałem i zbudowałem płytkę wyposażoną w procesor STM32F107RCT6 oraz dekoder popularny MP3 VS1003. Jest to kolejna wersja starszego projektu na PIC32, który przenoszę na nowy mikrokontroler. Większa część projektu PCB pochodzi ze starej wersji. Do komunikacji z VS1003 używam popularnej biblioteki Andy'ego Karpova, którą już wcześniej przeportowałem...
Może z tym extern to i była głupota, ale już nie wiedziałem co wymyślić :P. Z atrybutem nie działało może dlatego, że nie pracuje na najnowszej wersji, tylko na wersji z 2006r ( 20060125 ).
W nagłówku taki trick: [syntax=c] #ifdef __THIS_IS_MAIN #define Extern #else #define Extern extern #endif ... Extern czas nastawy;[/syntax] w wybranym module *.C, nazwijmy go główny, robisz tak [syntax=c]#define __THIS_IS_MAIN 1 #include "tenheader.h" [/syntax] Nie wymyśliłem tricku na inicjację, ale tak używam zmiennych globalnych od wielu lat EDIT...
Witam! Próbuję w swoim projekcie w C dołączyć bibliotekę napisaną w C++. Cały plik .cpp obejmuje instrukcją: [syntax=c] extern "C" { ... } [/syntax] Niestety projekt się nie kompiluje. W tej linii jest błąd: [syntax=c] template<class T> inline bool put_obj(const T& obj) { return put_buf(&obj, sizeof(T)); [/syntax] Błąd to : error: template...
Bardziej zaawansowaną jest ta druga biblioteka (w C), w której środku znajdziesz przykład (również w C) - "example.c". Jeśli nie chcesz się babrać w C++, polecam tą drogę. Jest problem z extern "C"{}. Instrukcją tą obejmuję cały plik .cpp i mam błąd : error: template with C linkage w lini: template<class T> inline bool put_obj(const T& obj)...
Zastosowałem się do twoich rad stworzyłem klasy uC tak, żeby nie definiować na początku biblioteki port.h tylko w ustawieniach projektu musi być wybrany mikrokontorler: https://obrazki.elektroda.pl/8543232300_... cały plik port.h wygląda następująco pogrubiłem te zmiany które wprowadziłem: #if defined (__AVR_ATmega328PB__) #define UCSRB...
Jeżeli chodzi o pierwszy warning w tej bibliotece dotyczy SIG_USART_TRANS w sekcji __AVR_ATmega169__ [syntax=c] /* * FreeModbus Libary: AVR Port * Copyright (C) 2006 Christian Walter <wolti(at)sil.at> * - Initial version + ATmega168 support * Modfications Copyright (C) 2006 Tran Minh Hoang: * - ATmega8, ATmega16, ATmega32 support * - RS485 support...
Witam wiec tak wpisałem to co mi kolega przesłał i wyskakuje teraz taki błąd Arduino:1.6.9 (Windows 10), Płytka:"Arduino/Genuino Uno" In file included from sketch\output\scanner.cpp:1:0: C:\Users\TOSHIBA\Documents\Arduino\libra... error: 'Arduino' does not name a type Arduino.h ^ In file included from C:\Program Files\Arduino\hardware\arduino\avr\cores...
Mam trochę problemów z tą platformą a szczególnie z jedną rzeczą która mnie mocno denerwuje - brak jakiegokolwiek wsparcia !!! Czekam na odpowiedź z Propoxu i wiem że niedługo się doczekam, ale dzisiaj poruszę to na forum. Mam nadzieję że ktoś rozwiązał problem , który mnie dręczy a mianowicie: - chciałbym sterować portami z częstotliwością rzędu 200...
Witam Mam problem z transmisją I2C po wybudzeniu uC. Jeśli uśpienie nie było zbyt głębokie (tryb IDLE) transmisja I2C działa bez problemów. Jeśli uśpienie było głębsze (np. POWER DOWN) po wybudzeniu nie działa magistrala I2C. Aby ponownie zaczęła działać konieczny jest RESET uC. Napisałem krótki program ułatwiający analizę problemu. plik main.c: [syntax=c]#include...
Witam napisałem prosty kod [syntax=c] extern void _end, __stack; void fun(void) __attribute__((naked,optimize("Os"),sect... int spr(void); void h(void) __attribute__((noinline)); int main(void) { / Replace with your application code / lcd_init(); lcd_puttext("TEST"); //lcd_int(&__stack); lcd_int(spr()); h(); while (1) { } } void fun(void){...
Witam Mam kilka pytań związanych z I2C na które nie jestem sobie wstanie odpowiedzieć. 1. Mam taką funkcę: [syntax=c] void I2C_SetBusSpeed(uint16_t speed) { speed=(F_CPU/speed/100-16)/2; //speed=TWBR*4^TWPS uint8_t prescaler=0; while(speed>255) //Oblicz wartoœæ preskalera { prescaler++; speed=speed/4; }; TWSR=(TWSR & (_BV(TWPS1)|_BV(TWPS0)))...
-funsigned-char -funsigned-bitfields -DF_CPU=8000000 -O0 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -mmcu=atmega8 Linkera: -mmcu=atmega8 Co wypluwa: ------ Build started: Project: stacja, Configuration: Debug AVR ------ Build started. Project "stacja.avrgccproj" (default targets): Target "PreBuildEvent"...
[syntax=c]/* * FreeModbus Libary: AVR Port * Copyright (C) 2006 Christian Walter <wolti(at)sil.at> * - Initial version + ATmega168 support * Modfications Copyright (C) 2006 Tran Minh Hoang: * - ATmega8, ATmega16, ATmega32 support * - RS485 support for DS75176 * * This library is free software; you can redistribute it and/or * modify it under the...
Chyba tak jest, tutaj plik startup_stm32f10x_md.c [syntax=c]/** ****************************************... * (at)file startup_stm32f10x_md.c * (at)author Coocox * (at)version V1.0 * (at)date 12/23/2009 * (at)brief STM32F10x Medium Density Devices Startup code. * This module performs: * - Set the initial SP * - Set...
No właśnie- kłócicie się o bajty a całe moje rozumowanie idzie chyba o kant... potłuc. tmf podał w swojej książce opis menu- dość rozbudowany, z podmenu i innymi bajerami. Kod jest na ftp Helionu. Obsługuje się to enkoderem z przyciskiem. Jak się jest na określonej pozycji to naciśnięcie powoduje włączenie funkcji dopasowanej do tej pozycji- w moim...
Witam! Od jakiegoś czasu usiłuję napisać aplikację obsługującą kilka wątków (taki wstęp do RTOS) i przełączającą kontekst między nimi. Problem tkwi w tym, że podczas wczytywania kontekstu (LoadContext()) wywala FaultHandler. Zdebugowałem ustrojstwo i wynikiem są dwa bity CFSR: IMPRECISERR oraz STKERR. Nie wiem co może być przyczyną, być może czegoś...
Możliwe że napisałeś program optymalnie i kompilator nie miał już co optymalizować :) . Przy -O3 sprawa jest prosta, wszystko co się dało masz inline , kod musi być większy. U mnie taki kod na przykład (używam SPL i nie za bardzo znam asembler) z LTO i z -Os wszystko jest inline a bez LTO i z -Os każda funkcja jest wywoływana. Na asemblerze za bardzo...
Wracając do przerwań, zgodnie z obietnicą wrzucam przykładowe definicje interfejsu klas opartych na przerwaniach. Pierwsza obsługuje timer i umożliwia wywoływanie z opóźnieniem lub cyklicznie podanej funkcji, lub wywoływanie jakiejś akcji: 1 #ifndef _TMFTIMER_H 2 #define _TMFTIMER_H 3 4 #include <stdint.h> 5 6 #ifdef __AVR__ 7 #include <avr/io.h>...
Wrzucam pliki *.h i *.cpp, które są umieszczone w katalogu "libraries" biblioteki. c:\Program Files(x86)\Arduino\hadware\arduino\avr\l... -Wire.h -Wire.cpp Kod w pliku Wire.h Kod w pliku Wire.cpp Kod w pliku PCF8574.h Kod w pliku PCF8574.cpp [syntax=c]// // FILE: PCF8574.cpp // AUTHOR: Rob Tillaart // DATE: 02-febr-2013 // VERSION: 0.1.02...
Zmieniłem : 2. change The initial stack pointer in the vector table: (void *)&pulStack[STACK_SIZE-1]... to (void (*)(void))((... long)pulStack + sizeof(pulStack)), w startup_stm32f10x_md_vl.c Dalej to samo. [syntax=c]/** ****************************************...
Ok. Istotne fragmenty kodu wyglądają następująco: my_adc.h [syntax=c] #ifndef _MY_ADC_H #define _MY_ADC_H #include <dev/adc.h> extern u_short readADCChannelLN(adc_channel_t adc_channel); extern u_short readADCChannel(adc_channel_t adc_channel); #endif [/syntax] my_adc.c [syntax=c] #include <sys/thread.h> #include <sys/timer.h> #include...
Witam. Zakupiłem konwerter I2C do wyświetlacza LCD i mam mały problem z jego obsługą. Komunikacja z ekspanderem następuje prawidłowo, jedynie co udało mi się uzyskać to miganie podświetleniem, ale uparty wyświetlacz za choinkę nie chce nic wyświetlić. Schematu konwertera niestety nie posiadam, gdyż producent go nie udostępnia. Kod którego używam prezentuje...
Dodano po 31 Kiedy debuguje program, krokowo, zaraz po a = 124; z linii b = log10(a); wskakuje do nieskończonej pętli - void HardFault_Handler(void). Tak jakby sam adres procedury wywoływał błąd sprzętowy.
Witam wszystkich, Próbuję się uporać z problemem od kilku dni, jednak nie bardzo wiem co jest nie tak, a mianowicie próbuje odpalić najprostszy program zmieniający stan na pinach: http://obrazki.elektroda.pl/2092017600_1... To jest stan po kilku kliknięciach step over, dodam że program potrzebuje 7 kliknięć step over aby zacząć się wykonywać...
Sory, już się poprawiam [syntax=c]#ifndef LCD_H #define LCD_H #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later, update to newer AVR-GCC compiler !" #endif #include <inttypes.h> #include <avr/pgmspace.h> /** * (at)name Definitions for MCU Clock Frequency * Adapt the MCU clock frequency in Hz...
Witam, od paru dni walczę z postawieniem komunikacji po modbusie RTU, przez RS485 przy pomocy biblioteki freemodbus v1.5. Po wielu próbach i przeglądaniu forum w poszukiwaniu informacji udało mi się poprawnie skompilować i wgrać program, jednak przy próbie skomunikowania się z atmegą (odczytania rejestru o adresie 1000 lub 1001) albo nie odpowiada wogóle...
Witam, mam jakiś błąd w sofcie, który powoduje, że po odłączeniu i włączeniu zasilania program nie działa prawidłowo. Zresetowanie atmegi bez odłączenia zasilania powoduje że wszystko chodzi już dobrze. Próbowałem różne ustawienia fuse'ów, kwarc 12MHz, CKOPT włączony, ustawiony najdłuższy możliwy czas opóźnienia włączenia. Testowałem na wewnętrznym...
Witam, Jestem w trakcie przerabiania kursu z EdW http://sklep.avt.pl/photo/product_info/c... Pracuje na zestawie startowym ZL3AVR http://obrazki.elektroda.pl/1437402200_1... Zamieszczam kod programu: ////////////////////////////////////////... // main.c - testowanie...
Ustawianie zegara http://obrazki.elektroda.pl/9237508000_1...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
Cześć, chciałem przeportować kod do odbioru RC5 autorstwa Dondu za ATMega8 na ATTiny13 - http://obrazki.elektroda.pl/8294459100_1... REzystory diod 470Ω, nie zmieniłem na schemacie. Pilot samoróbka, ale 100% pewniak. No więc w czym problem? Uruchomiłem przykład na ATMega8, wszystko pięknie śmiga. Program kompiluje się dla Tiny13...
Witam , udało mi się odpalić wyświetlacz , użyłem innych bibliotek - pana Peter Fleury . Pojawił sie jednak kolejny problem , biblioteka jest do wyswietlacza 2x16 a ja chciałem ją przerobić na 4x20 i tu pojawia sie problem : - pierwsza linia wyświetla się ok - druga linia , pierwsze 8 znaków drugiej linii jest dublowane z linii pierwszej ( 8 ostatnich...
[syntax=c] #define LCD_PORTSET IOSET0 #define LCD_PORTCLR IOCLR0 #define LCD_DDR IODIR0 #define LCD_PIN IOPIN0 #define LCD_DATA_PORTSET IOSET1 #define LCD_DATA_PORTCLR IOCLR1 #define LCD_DATA_DDR IODIR1 #define LCD_DATA_PIN IOPIN1 #define KS0108_RS 0 #define KS0108_SET_RS LCD_PORTSET |= 1 << KS0108_RS #define KS0108_CLEAR_RS LCD_PORTCLR |= 1 <<...
Witam, na wstępie dodam że jestem bardzo początkujący w programowaniu. Staram się stworzyć program który by włączał i wyłączał funkcję RGB, poprzez pilot RC5. Staram się to zrobić po kolei i najpierw próbuję gasić i zapalać pilotem diodę. Problemem jest to, że program reaguje na każdy przycisk a nie na konkretny - zaprogramowany. Chce sterować klawiszem...
Funkcje do obsługi wyświetlacza pochodzą z gotowej biblioteki, którą znalazłem za pośrednictwem elektrody. Oto funkcja do wrzucania tekstu na lcd z flash procesora. Co do pamięci - avrstudio pokazuje mi że używam około 12kB flash i 300bajtów sram więc ok. Co do double i float to nie wiedziałem, że to to samo... A jakie są tego konsekwencje? Funkcja...
Dzięki bardzo za szybką odpowiedź, Dodałem wszystkie miejsca gdzie znajdują się biblioteki do projektu, lecz dalej jest problem, a co najciekawsze, ten sam, czyli jak by wcześniej tej biblioteki w ogóle nie brał pod uwagę, z tego wynika, że ten libusb.lib nie zawiera komend dla libusb-1.0, dobrze myślę? Wstawiam libusb.h [syntax=c] /* * Public libusb...
Właśnie moja nauka zatrzymała się na wyświetlaczu LCD. Mruganie diodami już za mną. Dlatego proszę o pomoc:) Skonfigurowałem dwie biblioteki. Dodałem jako załącznik. Jeśli ktoś może to bardzo proszę o sprawdzenie. Pierwsza to biblioteka ze strony http://radzio.dxp.pl/hd44780/hd44780_avr... Wygląda tak: Pkik HD44780.h //--------------------------------------...
Witam Troszkę pozmieniałem w kodzie jednak wyświetlacz nie działa jak powinien. Poprawnie się inicjuje jednak nie wyświetla na dwóch dolnych liniach. Z uwagi na praktycznie brak znajomości C proszę o pomoc "co tu nie gra". #ifndef LCD_H #define LCD_H /***************************************... Title: C include file...
Witam, Próbuje uruchomić obsługę karty SD pod STM32f103ZET6. Wykorzystuje do tego bibliotekę, używaną wcześniej pod STM32f407. Zmodyfikowałem tylko inicjalizacje SPI i dorzuciłem testową funkcję zapisu do karty. Mimo to karta nie chce ruszyć. Przy próbie otwarcia jakiegokolwiek pliku dostaje: FR_NOT_READY. Próbowałem już na dwóch kartach SD, formatowałem...
W pliku Platforms/include/AVR_platf_spec.h deklaracje __inline__ są bez sensu - jeśli miałyby być inline, to musiałyby istnieć definicje funkcji w nagłówku, a nie tylko deklaracje. Na szybko: usuń w w/w pliku wszystkie wystąpienia "__inline__" i dodaj na początek każdej deklaracji funkcji słowo "extern". Pozdrawiam, Dr.Vee
Jeśli zmienna "globalna" w danym pliku jest statyczna, to nie jest ona "exportowana" poza moduł (czyli plik) - żadne extern w tym momencie nie pomoże i będzie skwitowane błędem kompilacji. Dzięki takim niby nic nie znaczącym zabiegom można pokazać komuś (np sobie w przyszłości), że taka zmienna nie jest przeznaczona do użytku na zewnątrz modułu (odpowiednik...
progmem extern static extern inline function
panele fotowoltaiczne schemat bosch mrugają kontrolki toledo świateł
dekoder horizon dekoder horizon
Sterowniki HP 1500, LaserJet, PSC, DeskJet D1500 do Windows 7 – gdzie pobrać i jak zainstalować Brötje BBS – lokalizacja i funkcja programu 750 w menu serwisowym kotła