Definicja struktury musi być widoczna we wszystkich plikach .c, w których jest używana - stąd najwygodniej umieścić ją w pliku nagłówkowym. Wtedy jest pewność, że we wszystkich plikach .c używana jest jedna i ta sama definicja. Pliki .h to żadna magia - polecenie #include powoduje najnormalniejsze, tekstowe włączenie pliku w miejscu wystąpienia tego...
Witam. Piszę pewien program w JAVIE, pod system Android (środowisko Android ADT). To jest jedynie deklaracja referencji do obiektu. Czy jest to poprawna metoda tworzenia obiektu? Czy nie powinno to wyglądać tak: Dalej w kodzie (w metodzie graj()) używasz metody MediaPlayer.create - to bardzo często stosowany sposób programowania (wzorzec), gdy nie...
Witam Próbuje wykonać sterowanie dla projektu: https://www.elektroda.pl/rtvforum/topic3... Ogólnie tak: Mam ESP32, które jest jednostka główną Jest Arduino mega które przesyła dane co 2ms przez Serial2 Jest tez Aplikacja na PC, która komunikuje się z ESP32 poprzez Serial Problemem jest to, że jak na aplikacji wcisne dany przycisk, to aplikacja...
Witam. Projektuję termostat do wytrawiarki z termometrem na 2 wyś. 7-seg. Czujnik LM35, wykorzystuje ADC. Kod: [syntax=c]/* * main.c * * Created on: 2011-08-09 * Author: RADZIO M */ #include <avr/io.h> // dołączenie głównego systemowego pliku nagłówkowego #include <avr/interrupt.h> #include <util/delay.h> #include "d_led.h" // dołączenie...
tak sobie poczytalem... i mam kilka pytan :)... mignięcie mozna zapisać jako: PORTLED^=(1<<DIODA); zmienia stan bitu DIODA portu PORTLED wcale tego nie kumam :(... co to ma robic... bo jak na moj gust, to skoro PORTLED to bajt (caly port), a DIODA to jeden bit... to ta instrukcja bedzie XOR-owala ten port na zmiane z 1 i 0... czy dobrze mysle??...
upss naraz wałkuję dwa tematy o SD, stąd nieporozumienie. u mnie taki kod działa na kwarcu 8 MHz $regfile = "m32def.dat" $crystal = 8000000 $baud = 9600 ' predkość transmisji $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu $framesize = 128 ' rozmiar ramki '********************* Deklaracja podprogramów Declare Sub...
Próbuję przeanalizować kod samplowy: $crystal - częstotliwość rezonatora $baud - prędkość transmisji po UART $regfile - deklaracja typu procesora b). konfiguracja automatyczna na podstawie wybranego uP: Loaderchip - stała - deklaracja, jaki uP będzie wykorzystany W zależności od tego ustawione zostaną zmienne: $loader - adres pod jakim znajduje się...
Nie mozna tak zrobic, bo nie masz gwarancji gdzie linker umiesci zmienna - zwykle robi to w kolejnosci deklaracji, ale wcale nie musi. Zreszta to moze sie popsuc nawet i bez ingerencji linkera - wystarczy, ze ktorys naglowek stworzy zmienna w EEPROM. Sekcje pamieci EEPROM mozna przesunac przekazujac linkerowi polecenie --section-start (pamietaj o tym,...
Teraz już sprawy idą w lepszym kierunku. Problematyczny jest jeszcze sposób deklaracji zmiennych w programie. Proponuję pobrać z internetu dowolny assembler na 8051 (np. ASEM-51), wtedy wszystkie błędy składniowe można na bieżąco sprawdzać. Struktura programu (dowolnego) może wyglądać np. tak: - deklaracja zmiennych i stałych, - instrukcja skoku do...
Proszę bardzo[syntax=basic4gl] 'Copyright Robert Wołgajew, 2012 'Wersja z dnia 26.04.2012 $regfile = "Attiny2313.dat" $crystal = 1000000 'Fusebit CKDIV8 = 0 -> zaprogramowany (ustawienie domyślne producenta) $hwstack = 32 $swstack = 32 $framesize = 32 'Konfiguracja wyświetlacza LCD Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.2...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
Jedyna metoda odczytu pliku jakom znam to taka: Private Sub Command1_Click() Dim x 'deklaracje Dim odczyt(20) Dim odp Open "c:\bmp.bmp" For Input As #1 'otwarcie bitmapy do odczytu For x = 1 To 5 'zmienna x przyjmuje wartość od 1 do 5 Input #1, odczyt(x) 'odczyt no właśnie czego ?? odp = MsgBox(odczyt(x))...
Ja też miałem takie cyrki z przerwaniem. napisałem więc program w ten sposób: '///////////////////////////////////////... '////////// TERMOSTAT /////////////// '///////////////////////////////////////... $crystal = 4000000 'rezonator 4MHz $regfile "attiny2313.dat" 'attiny 2313...
Kolego coś takiego wymyśliłem :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wyjścia Config Sda = Portc.1 'konfiguracja pinu magistrali...
Witam Zachęcony sukcesami z płytką EVB 4.3 zaprojektowałem i zamówiłem swoją - na początek z AtMega8 w DIP. Do tego pamięć 24C32 oraz układ do RS485. Wszystkie układy mają kondensatory 100 nF ( stabilizator 7805 również + jeden elektrolit ). Całość ze złączem pod wyświetlacz 2*24 ( właściwe 4*12 ) Reset przez rezystor 10 K do +5V AtMega8L ( na 8 MHz...
Może nie umie wstawiać? $regfile = "m88def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Config Portd = &B00001111 'portd 0 1 2 3 jako wyjscia portd 4 jako 1wire 5 6 7 jako wejscia Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portd.3 =...
Jak użyć stałych zapisanych w pamięci programu przez const unsigned char TEXT[] = "jakiś tekst"; W funkcjach typu strcpy(), strcmp() itp? Te funkcje nie przyjmują wskaźnika do const więc nie można zrobić tego w ten sposób: strcmp(bufer, TEXT); co gorsza nie da się w ten sposób: strcmp(bufer, "jakiś tekst");...
Witam dostałem od kumpla taki kit miał składać ale sie tak zabierał za to, że postanowił dać mi go w prezencie . Po złożeniu i sprawdzeniu hyper terminalem po wciśnięciu przycisku na pilocie dioda miga ale na hyper terminalu nic ;/ nie odebrało nie wiem co teraz mam robić a z chęcią uruchomił bym ten układ pomożecie zaprogramować tą kość na nowo żeby...
Witam W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Witam serdecznie. Walcze już z tym drugi dzień. Na początku problemem było permanentne wskazanie 0 -1. Jednak gdzieś na forum znalazłem informację aby wymienić czujnik co okazało się strzałem w dziesiątkę. Teraz jednak mam inny problem. Maksymalna temperatura jaką chciałbym zmierzyć to około 100 stopni. Jednak po przekroczeniu wartości 35 stopni układ...
Witam Mam program, który, po dokonaniu pomiarów, wysyła dane przez RFM12 i zapisuje na karcie SD. Chcę dołożyć wysyłanie danych do Domoticz po każdym pomiarze. Problem w tym, że po dopisaniu obsługi ESP8266 i Domoticz ( zmienne miałem już wcześniej zadeklarowane ) to pojawiają się błędy w zapisie na karcie SD. No i wysyłanie do Domoticz przestaje działać,...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na tym że program załącza przekaźnik (grzanie) tylko na moment po czym...
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć co trzeba zmienić?? [syntax=vbnet] $regfile = "Attiny2313.dat"...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
Możliwe że źle odwołujesz się do zmiennych. Można się do nich dostać na dwa sposoby: 1) podając najpierw nazwę zmiennej z tym rekordem, potem znak kropki, a następnie nazwę zmiennej w tym rekordzie: np. if zmienna.sender <> 0 then ShowMessage('hhfd'); 2) lub stosując poleceni with: np. with zmienna do begin if sender <> 0 then ShowMessage('dfsd');...
Na początek do rysowania schematów są odpowiednie programy a nie Paint , kody programu umieszcza się korzystając z polecenia Syntax a nie wkleja zrzut . Schemat : brak jakichkolwiek kondensatorów do filtracji zasilania , brak GND dla uC , brak oporników ograniczających prąd diod jeden wspólny to żadna oszczędność max prąd portu to 20mA , czerwone LED...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
Kod poprawiony teraz wygląda tak: [syntax=c]/* Plik "main.c" */ #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "ds18b20.h" #include <avr/interrupt.h> #include <stdbool.h> #define F_CPU 8000000UL #define LED_0 0b11000000 #define LED_1 0b11111001 #define LED_2 0b10100100 #define LED_3 0b10110000 #define...
Poległem... :( Ale jest progres! Ale jednak poległem... Mam już kod, który wygląda, przynajmniej jak dla mnie sensownie, ale niestety nie działa. Czy ktoś z Was mógłby mi pomóc w rozwikłaniu problemu? Temp 1: aft timer Znając życie i początkujących programistów takich jak ja, to coś prostego i głupiego, ale niestety już trochę nad tym dziś siedzę...
Kolego Wobi już tłumacze bo chyba się do końca nie zrozumieliśmy. ds-y jakie stosuje to 18b20 oba są sprawne bo w innych programach wświetlają temp nawet w twoim pierwszym programie co mi wysłałeś do nauki znajdywało dwa różne ds-y i oba temp pokazywały. Dalej Po wgraniu twojego wsadu sterownik: -rozpoznaje tylko jeden ds - i tez wyświetla temp jednego...
Witam. Sprawdź w ten sposób: $crystal = 1000000 'deklaracja częstotliwosci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaku stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejscia magistrali 1-wire Dim Odczyt(2)...
nie pamiętam bardzo testowałem to na konkretnej pompie dotąd aż za bardzo sie nie grzała a podawała prawidłowo paliwo podaje kod jakiś znalazłem z pierwszych prób może się ktoś pokusi o poprawki jeszcze kilku zapaleńców i można by wrócić do projektu chociaż czasu brak Dodano po 16 Jednak teraz bym pozmieniał elektronikę gdyż dużo zależny od tranzystorów...
Witam. Nie mogę sobie poradzić z pewną sprawą dotyczącą oprogramowania wyświetlacza LCD. Mam napisany program obsługi LCD, jeśli numery wyjść portu C mam ustawione w ten poniższy sposób to LCD działa: [syntax=c] #define DDR_LCD DDRC #define PORT_LCD PORTC #define RS_LCD 2 #define EN_LCD 3 #define DB4_LCD 4 #define DB5_LCD 5 #define DB6_LCD 6 #define...
Czy możecie mi wyjaśnić gdzie mam dopisać PROGMEM czy coś w tym rodzaju? Powinno wystarczyć przy deklaracji konkretnej zmiennej, a jak nie to wszędzie gdzie popadnie Polecenie: pStateFunc = pgm_read_byte(&menu_state[i]... nie działa. Jak to się robi prawidłowo? Wskaźnik do funkcji na pewno jest dłuższy niż 1 bajt, zapewne 2, ale...
O kurcze rzeczywiście.Nie przyglądałem się tej bibliotece.Więc tak: Zamiast definicji "i2cwbyte" ---> Zmienne Byte_offset, Error, minuty i godziny DIM Byte_offset as byte(czyli jako bajt) dim error as byte.Dobrze myślę? EHHHh.Mimo tego że mam zdefiniowane te zmienne jako byte, mam błędy na offset i error. [syntax=basic4gl]If S6 = 0 Then Sub Displayalarm()...
Co to znaczy wyświetla jedną linię?? Opisz dokładnie albo zrób zdjęcie. Ekran startowy się pokazuje, czyli "Witaj ..." a w drugiej lini "Temometr.." itd. Gdzie staje program? Co dokładnie pokazuje LCD od momentu włączenia do końca? Prawdopodobnie masz coś na magistrali 1W zwarte albo któryś czujnik poleciał lub port w procesorze. Mogłeś zmienić tylko...
Dzięki za zainteresowanie i pomoc , posklejam układ i potestuję . Ale narazie jest problem jakiś z pamięcią bo kompilator wywala błędy Out of Sram space - przy deklaracji zmiennych . Zmieniłem na : Dim Przycisk As Word At &H62 Dim Czas As Integer At &H63 Dim Czas_zamka As Integer Linia ze zmienną Word jest ok natomiast zmienne Intiger dalej Error jw....
lucas234 to Ty jesteś programistą i Ty decydujesz jakiego typu jest zmienna i gdzie ona ma być zapisana, w której pamięci w zależności od założeń urządzenia które programujesz i tego co chcesz osiągnąć, tak dla przykładu: deklaracje zmiennych w których pamięciach maja się znaleźć: [syntax=c] uint8_t a; // zmienna w pamięci RAM uint8_t EEMEM b;// zmienna...
Teoretycznie tak. Jak jest w praktyce ... Próbowałem już wcześniej różnych sposobów zamiany nazw i nie współpracuje to poprawnie z funkcją w której ta struktura zostaje wykorzystana. Funkcja zwraca wynik negatywny, więc postanowiłem poszukać sposobu identycznego zadeklarowania struktury w innym języku. To nie wynika z braku użycia słowa "type" w deklaracji...
[syntax=c]string imie; int a; void miasto(); // int miasto; // błąd był tu int klasa; int sil;[/syntax] Masz w kodzie okropny bajzel. 1. Nie używaj zmiennych globalnych (właśnie już wiesz czemu). 2. Jeżeli chcesz zastosować metodę Kopiego Pejsta - to znaczy że robisz coś źle. 3. Przeanalizuj ten kod: [syntax=c]#include <stdio.h> typedef struct...
Witam, napisałem program do nadajnika, mógłby ktoś zerknąć, lub ewentualnie wnieść poprawki. Proszę o pomoc. $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config 1wire = Portd.5 'deklaracja magistrali 1-wire Dim W As Byte Dim I As Byte Dim Temperatura As Integer ' deklaracja zmiennej I wykorzystywanej do petli for next 'deklaracja...
Uparłeś się na nie wspierany już kompilator, i to taki, z którego praktycznie nikt nie korzysta... Ja bym jednak polecił ci zwykły C18 (z np. MPLAB-X :] ), i mimo że może nie mieć takich wypasionych ficzerów jak HI-TECH, to jest pozbawiony zonków z którymi ty się obecnie borykasz. Oszczędzisz sporo czasu i nerwów, a jak czegoś nie będziesz wiedział,...
Nie, nie lutuję do kabli tylko przykręcam do złącz ARK Oto program: $crystal = 4000000 'deklaracja częstotliwości pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejścia magistrali...
Zmieniłem deklarację zmiennych na polecone przez kolegę Damian_Max, ale nic to nie dało. serwomechanizmy stoją jak wryte. Po drugie: Oscylować owszem, ale nie od wartości skrajnej, do skrajnej. A jedynie wokół danej nastawy, wtedy jednak serwomechanizmy wykonywały regularny ruch od skrajnej lewej, do skrajnej prawej. Na początku serwomechanizmy wykonywały...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: http://mikrokontrolery.blogspot.com/2011... Dzięki za upomnienie, faktycznie gdzieś to przeoczyłem, na schemacie ideowym nawet masa wisi :) Poniżej zamieszczam poprawiony schemat ideowy i płytkę w EAGLE. Widząc duże zainteresowanie kodem wrzucam wsad w BASCOM....
To by musiało być coś takiego: Config portb.3 = input 'końcówki portów domyślnie są wejściami, więc nie jest to konieczne portb.3=1 'podciągamy wejście do plusa, bo przycisk będzie między wejściem i masą config portd.0 = output 'wyjście na diodę '1 wpisana do portx.y to stan wysoki na wyjściu dim tryb as byte 'deklaracja zmiennej do 'obsługa prycisku...
Ja to zrobiłem na Attiny13, temperatura jest określona na stałe, taka byłą specyfika mojego projektu laminatora (do folii UV). Kod był zaczerpnięty z sieci, lekko go zmodyfikowałem. Pamiętam, że teoria nie pokrywała się z praktyką i musiałem wpisać temperaturę z przesunięciem o kilka stopni. [syntax=vbnet]' Uk³ad z sam¹ diod¹ dzia³ao...
Podłącz konwerter USB uart i spawdź w terminalu czy odpowiedź jest ok. Obstawiam, ze będzie dobrze albo juz wysyłanie do SIM800 jest złe? Sprawdziłem i sytuacja wygląda tak samo. Polecenie at wychodzi--brak odpowiedzi--reset-- odpowiedź się pojawia. Wysyłanie At przez port działa wyśmienicie, odpowiedź prawie natychmiast. Dodano po 1 (at)Lucek20 Spróbuj...
Wedle życzenia wstawiam wszystko jak leci Program główny [syntax=c]//Sterownik wytrawiarki PCB, LCD2x16, ds18b20 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "HD44780.h" //plik sterowania LCD #include "ds18b20.h" //plik odczytu z DS //makro przycisku #define KEY (1<<PC7) //makra...
Witam, potrzebuje gotowego wsadu do procka tzn już skompilowanego do postaci hex. Przerobiłby mi go ktoś??? Oto kod: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksišżki "Mikrokontrolery dla Poczštkujšcych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwo�ci pracy kwarcu...
deklaracja zmienna zmienna polecenie deklaracja zmienna globalny
cdrom controller impulsowa ladowarka programować mikroprocesor atmega8
kabel brake radio interfejs lexia
Ciśnienie oleju w Ursus 914: wartości i przyczyny problemów Fiat Stilo PDA – znaczenie skrótu w diagnostyce, czujnik osi, palmtop, Passive Door Access