OK. Ja też jestem w pracy i nie zawsze mogę o tej porze coś robić. Ale dalej: Do testowego używania UARTA przyda się "podmienienie" standardowej obsługi funkcji printf na taką, która wysyła dane przez UARTA do naszej Windowsowej konsoli. Możesz to wpisac standardowo przed obsługą assert_failed() /** * (at)brief Retargets the C library printf function...
https://obrazki.elektroda.pl/2451177300_... Dzień dobry, Jakiś czas temu otrzymałem NAS, model DS1515+, sprzęt był pierwotnie uszkodzony i ktoś już go naprawiał z racji dodatkowego rezystora, który ma przeciwdziałać https://obrazki.elektroda.pl/8088734500_... Sprzęt oczywiście się uruchomił i była możliwa instalacja...
https://obrazki.elektroda.pl/4509007500_... Zapraszam na prezentację https://obrazki.elektroda.pl/1519670000_... Przygodę z APM32F003F6 pozwoli nam szybko rozpocząć płytka Mini Board. Oprócz głównego MCU z przydatnymi do uruchomienia elementami takimi jak rezonator kwarcowy, przycisk RESET oraz testowy, diody LED,...
https://obrazki.elektroda.pl/4767840700_... Wczoraj opublikowana została nowa rodzina modeli Qwen3 oferująca rozmiary od 0.5B do 235B. Jej flagowy model, Qwen3-235B-A22B może z powodzeniem rywalizować z modelami takimi jak DeepSeek-R1, o1, o3-mini, Grok-3, i Gemini-2.5-Pro. Nowe modele Qwen3 obejmują zarówno modele dense , jak i typu...
(at)insmod czy masz RTL8720DN/BW16(E) i czy rtltool dla CSM działa na nim? Nie jestem pewien, czy w pełni rozumiem związek CSM z DN. Plik WBRG1.zip ma w sobie amebowy floader, więc CSM to nie AmebaZ2? A więc płytka RTL8720DN powinna działać z rtltoolem? ale wtedy dump w zipie ma nazwę z dm - ff_rtl872xdm.bin - literówka? rtl8720dn w zrzucie WBRG1 Dodano...
Wywołanie printf() oczywiście nie wejdzie do tej funkcji, bo nie używa Twojego pliku tylko stdout. Wywołanie drugie to oczywiście inna kwestia. Być może pocieszy Cię, że "nadziałeś" się na to, na co chyba natknął się absolutnie każdy. stdio obsługuje domyślnie buforowanie (można je wyłączyć, ale to oczywiście nie jest najlepsza opcja), to co masz w...
https://obrazki.elektroda.pl/2718988000_... Witajcie moi drodzy W tym temacie pokażę jak każdy początkujący może najprościej uruchomić w warunkach amatorskich mikrokontroler PIC32MX795F512H bez potrzeby trawienia/kupowania pod niego konkretnego PCB. Oprócz minimalnego niezbędnego układu pracy tego mikrokontrolera umieszczę tutaj kilka...
Gdyby ktoś potrzebował kodu w C do sterowania tym expanderem : [syntax=c] #include <stdint.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <getopt.h> #include <fcntl.h> #include <sys/ioctl.h> #include <linux/types.h> #include <linux/i2c-dev.h> #include <stdlib.h> #define...
Skoro to IAR, to sprawdź: Project Options -> General Options -> Library configuration, tam na dole jest checkbox "stdout/stderr", spróbuj go przestawić.
Dokladnie, na tym forum nie ma rozwiazania mojego problemu, podejrzewam ze karta jest zbyt 'swieza'. Znalazlem obejscie: #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> int main(void) { int fd; unsigned char data; fd = open ("/dev/nvram",...
No nie mogę sobie tego jakoś poukładać w głowie, odpaliłem na szybko kompilator online i przetestowałem działanie funkcji String wejsciowy = "-oko-test-+-strtok-" odcinek nr 1="oko" odcinek nr 2="test" odcinek nr 3="+" odcinek nr 4="strtok" No i drugie pytanie, jak należy wywołać funkcję strtok jeżeli argument jest typu char * string, np: [syntax=c]char...
Czy jest ktoś mi w stanie podpowiedzieć jak zmodyfikować ten kod aby sterować głowicą z tego wątku? Mam taką podpięta pod i2c w RaspberryPI Ten kawałek kodu sterował radiem FM zbudowanym na tea5767. #include <wiringPi.h> #include <wiringPiI2C.h> #include <stdio.h> #include <stdlib.h> int main( int argc, char *argv[])...
Witam Napotkałem problem z retarget-owaniem funkcji printf w C (kompilator CodeSourcery ARM EABI). W poniższym pliku (retarget.c - kod nie jest mój ) zawarta jest implementacja funkcji takich jak printf itd... chodzi mi właśnie o funkcję printf. Otóż.. Funkcja działa poprawnie, łącznie z formatowaniem (np. %d) i znakami specjalnymi (\n \t... itd) tylko...
Oczywiście że mogę w SDCC to będzie jakoś tak ;) char znak; While (i=1) do { znak = getkey(); printf ("To jest znak ", %c, znak); }; W Pas5x proponuję Var i: Boolean; znak: char; i:=true; ... while (i = true) begin znak := Readkey; Write ("To jest odczytany znak", znak); end; ... I powinno super działać :)
Nie miałem za bardzo czasu ale wracam do nierozwiązanego problemu. http://obrazki.elektroda.pl/7699775600_1... http://obrazki.elektroda.pl/3826926900_1... Tak wyglądają screeny po wywołaniu programu CRCGEN. Pliki wgrane programatorem działają poprawnie a przez bootloader tylko ten krótki (choć po przemieleniu ma także...
Najlepszego w Nowym Roku i w następnch (rokach też). Proszęż uprzejmież : [syntax=c] #ifndef NOUVOTON_SD_CARD_H_INCLUDED #define NOUVOTON_SD_CARD_H_INCLUDED // #include "NouvotonSDCard.h" #define __IO volatile typedef struct { __IO uint8_t CSDStruct; /* CSD structure */ __IO uint8_t SysSpecVersion; /* System specification version */ __IO uint8_t Reserved1;...
Szanowni Forumowicze, mam problem z przeniesieniem pewnego kodu napisanego pod atmegę328 na xmegę128A3. Chodzi tutaj o obsługę czujnika LSP25H, magistrala I2C. Oto kod pod atmegę328: [syntax=c]#define F_CPU 16000000UL #include <util/delay.h> #include <avr/io.h> #include "uart.c" //set up stdout and stdin static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar,...
A znasz C/C++. Jezeli nie to zacznij od nauki tego języka. Nie ma takiego języka jak C/C++. Nawet sam autor C++ ma o tego typu połączeniu bardzo złe zdanie: No that's not really a question I often get. In that sense, it is the only "fake FAQ" in this FAQ. However, it ought to be a FAQ because people use "C/C++" as if it meant something specific and...
Cześć Jestem całkowicie nowy w programowaniu dla systemów wbudowanych i muszę napisać program, który realizuje bramę szeregową do ethernetowej za pomocą protokołu UDP. Dla pierwszego hosta piszę program klienta, a drugi program musi być serwerem, który musi być skompilowany i uruchomiony na płycie EP9302, a odebrane dane muszą być wysłane do drugiego...
Działa. Wystarczyło zmienić szukany znak z backslasha na '\n'. Ostatecznie modyfikacja wygląda nastepująco: if (character == '\n') { __fputc_('\n', stream); __fputc_('\r', stream); continue; } Dopracowałem rownież funkcje usart_put_char, zamiast wprowadzać delaya sprawdzam flage czy UART zakończył poprzednią transmisję....
Czujnik to HTU21D. Wysyłam do niego komendy, które są w Datasheet (w załączniku). Chcę odczytać temperaturę w trybie Hold Master. Oto kompletny kod main.c: http://obrazki.elektroda.pl/4783952000_1...
tJanusz C nielogiczne? Wiesz jeśli wszyscy myślą inaczej niż ja, to zastanawiam się czego nie rozumiem. rTom -co do begin i end w Pascalu, nie trzeba zmieniać przyzwyczajeń z Pascala, preprocesor to strasznie silne narzędzie -poważniejsza sprawa to inne priorytety operatorów -w C nie pisze się i=i+1 ;) tylko i += 1, ta konstrukcja jest ogólniejsza,...
Zle mnie zrozumiałeś :), albo ja źle zapisałem :) _sbrk_r() razem z malloc działają :) Ale kolejno bo inaczej będzie chaos. printf ("Hej, ja działam!"); - wywołuje w pracy krokowej kolejno : 1. ssize_t _write_r ( struct _reent *r, int file, char *buf, size_t nbyte) 2. No source available for "_fflush_r() " 3. No source available for "_vfprintf_r() "...
Witam! Próbuje rozpocząć pierwszą komunikację z wyświetlaczem LCD HY-320 opartego na sterowniku SSD1289. Na podstawie bibliotek ze strony http://obrazki.elektroda.pl/7640696200_1... Ekran toleruje napięcie 3.3V, więc zasilam i mikrokontroler, i ekran napięciem 3.3V. Atmega32A według noty katalogowej jest w stanie pracować na tym napięciu...
Hmmm. To ma byc adres ktorego ze stosow? I jezeli ten adres byl by zly to jak do tego ma sie kwestia flagi -nostartfiles? /** * File: startup.s * * Project: STR91x Eclipse demo * * Description: This module performs: * - Flash remapping. * - Stack pointer intialization for each mode. * - .bss section initialization. * - Branches to main. * * * Created:...
Wróciłem do redlib. Na podstawie przykładu z LPCWare.com napisałem retarget.h kod poniżej. Próbuje uruchomić to przekierowanie w trybie DEBUG_ENABLE. [syntax=c] #define DEBUG_ENABLE #if defined( __GNUC__ ) /* Include stdio.h to pull in __REDLIB_INTERFACE_VERSION__ */ #include <stdio.h> #if (__REDLIB_INTERFACE_VERSION__ >= 20000) /* We are using...
[quote="Freddie Chopin"]No i co z tego? "Implementation defined" nie znaczy, że absolutnie nie może być z lewej do prawej. Po prostu nie musi być. Równie dobrze może być zupełnie odwrotnie. Na innym kompilatorze, innej archutekturze, innej wersji tego samego kompilatora, przy innych opcjach kompilacji albo w innej funkcji. [quote]Są w C pewne generalne...
Witam ! No wrzuciłem dwa bo tak mam jeden dla ROM drugi dla RAM co do startup to już wrzucam. /*--------------------------------------... //*- ATMEL Microcontroller Software Support - ROUSSET - //*-------------------------------------... //* The software is delivered "AS...
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
Szukałem na internecie poradników do terminala UART i udało mi się zrobić coś takiego z kawałków znalezionych w sieci. Problem polega na tym, że mój kompilator wyrzuca błędy a nie pokazuje mi gdzie one są (i tym samym nie mogę ich skompilować) i jeśli ktoś może sprawdzić poprawność kodu w 1. i 2. main.c(są to dwa odzielne programy w dwóch projektach...
Witam, mam dość spory problem. Napisałem program do obsługi portu szeregowego i komunikacji z mikrokontrolerem, który wysyła 9bajtową ramkę. Dane wysyłane są w bardzo dużej ilości i z prędkością 9600 bps. Program niby działa tak jak powinien i no właśnie pojawia się jedno ale: do odczytu używam timera, który żeby nadążyć z odbieraniem danych, musi być...
Skonfigurowałem i oprogramowałem już cały mój kompas elektroniczny i wszystko działa, lecz na razie wartości są po prostu wyświetlane na LCD (lph7779) w postaci cyfr a chciałbym zrobić to w formie graficznej. Na początek zajmuję się akcelerometrem, chciałbym że działała mniej więcej w ten sposób: http://obrazki.elektroda.pl/4636259500_1...
Witam znalazłem na elektrodzie program do obsługi wyświetlacza LPH7779 (Nokia3310) na ATMega8. Wszystko ładnie dzieła przy użyciu komendy void lcd_str("xxx"); tj. zamiast xxx wyświetla to co chcę. Ale chciałbym teraz aby wyświetlał napięcie z ADC2, jednak cały czas wyskakują krzaki. Postanowiłem więc napisać krótki programik żeby sprawdzić...
Jest taka próbka: Dodano po 47 Również w AliOS: https://github.com/brucetsao/AliOS-Thing...
Spróbuj uruchomić debugger i zatrzymać się wewnątrz funkcji write. Ewentualnie możesz przejrzeć plik map (lub *.elf za pomocą narzędzia nm ) i poszukać czy masz tam taką funkcję jak _ write .
Sorry, że tak z opóźnieniem. Funkcja printf_fast_f działa. Wielkie dzięki Fajfer. Temat zamknięty.
Oto i kod. Nie wklejalem procedur I2C_write i I2C_read bo jestem pewien ze dzialaja dobrze. void zapisz_godzine(unsigned char godziny, unsigned char minuty, unsigned char sekundy){ unsigned char temp[3]; I2C_start(); temp[0] = int_to_bcd(sekundy); temp[1] = int_to_bcd(minuty); temp[2]...
Podmień funkcję __sys_write() na:[syntax=c] int __sys_write(int iFileHandle, char *pcBuffer, int iLength) { UARTSend((uint8_t*)pcBuffer, iLength); return iLength; }[/syntax]
Dokładnie tak. W pętli while następuje kompresja danych linia po linii, dzięki czemu nie trzeba mieć całego obrazu w pamięci, można go wczytywać po jednej linii, a do wczytywać można np. z portu szeregowego. A wyjściem jest plik. W standardowym systemie embedded ARM nie ma wbudowanej obsługi FAT, SD czy innego systemu. Trzeba zaimplementować własną....
U mnie działa tak więc kod jest prawidłowy ! #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #define cbOutQueue 35 //rozmiar bufora danych wyjściowych #define cbInQueue 35 //rozmiar bufora danych wejściowych int __fastcall Write_Comm(HANDLE hCommDev, DWORD nNumberOfBytesToWrite); int __fastcall...
Pokaż swoją funkcję write().
Witam. Proszę pomocy przerobić program w języku C na program Assemblerza. Chodzi o DSM-51. Wiem, że jest "programowanie w języku C mikrosterowników standardu MCS-51 z wykorzystaniem systemu DSM-51", ale nie znam jak to napisać. #include <stdio.h> int main() { int x; printf("Please, write decimal number:"); scanf("%d", &x); int i; int sum =...
Fajnie. Jak już pisałem to kwestia newlib'a. Jeśli używasz funkcji z libc typu printf, assert, write, memcpy itp musisz dołączyć syscalls.c, w przeciwnym wypadku nie. Jeśli chcesz używać plików i standardowego we/wyj warto zainteresować się projektem newliblpc, nawet jeśli kostka, której używasz nie należy do stajni NXP. Albert
Witam. Chce stworzyć aplikację która będzie działała jak terminal portu COM, czyli możliwe będzie wysyłanie i odbieranie danych. Stworzyłem taki program (kod zamieszczam poniżej). Odbiór i nadawanie umieszczone są w oddzielnych wątkach. Problem jest taki, że po uruchomieniu programu odbiór znaków (danych) działa poprawnie, natomiast nadawanie nie działa...
To jest ostatni program ktory wrzucilem na atmege. programik jest z forum. /* Program demonstrujacy dzialanie termometru DS1820; This program measure a temperature from DS1820 and shows it at LCD. Piny/Pins: PD1 - RS PD2 - E PD3 - D4 PD4 - D5 PD5 - D6 PD6 - D7 */ #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #define...
Pobrałem sobie kod z podanego wyżej linku. Wygląda tak: #include <stdio.h> #include <conio.h> #include <windows.h> /* Definitions in the build of inpout32.dll are: */ /* short _stdcall Inp32(short PortAddress); */ /* void _stdcall Out32(short PortAddress, short data); */ /* prototype (function typedef) for...
Właśnie o to mi chodziło , dzięki BlueDraco. Czyli wysłać mogę w ten sposób printf("\x00\x01\x02\x04"); czy w tym zapisie 0 będzie strawione? A funkcja write() występuje w C?
Dzięki Panowie za szybką odpowiedź :) bonczi7 LinkDriver użyłem niestety nic nie dało :( Marek_Skalski - nigdzie nie znalazłem nic na temat uruchamiania LSE do SD, a myślę że o SD przejrzałem cały User Manual od HAL jednak dla pewności uruchomiłem LSE jednak problem pozostał :( załączam zdjęcia po uruchomieniu LSE, Dla pewności użyłem programu od HAL-a...
Ja bym to uprościł: [syntax=c] int adc = pomiar(PA7); uint32_t volty = adc * 49UL * 1UL; uint8_t v1 = volty / 10000; uint8_t v2 = (volty / 100 ) % 100; ili9341_setcursor(50,40); sprintf(volt_v1,"%1d.",v1); printf(volt_v1); if(v2<10) { ili9341_write('0'); sprintf(volt_v2,"%1d",v2); printf(volt_v2); } else { sprintf(volt_v2,"%2d",v2); printf(volt_v2);...
sposób kolegi _marek okazał się bardzo dobry i wykozystałem go w moim programie. ale niestety jak to zwykle bywa pojawił się kolejny problem. mianowicie int akcja (char dana, int wait) { printf ("akcja"); char bufor[10]; bufor[1]=dana; //zpisywanie do prtow if (write(plik,bufor,2) !=2) {...
Odnosnie zawiesznia sie znalazlem usterke, problem polegal na tym ze indeks wychodzil poza tablice- nie zrobilem zabezpieczenia bo wydawalo mi sie ze taka sytuacja nie nastapi. Progam sie znacznie mniej razy zawiesza. Problem jest nadal z zasiegiem, dodanie zmiany trybu pracy filru nic nie dalo . Predkosc mam 4800b/s moc i czulosc maksymalna. Moglbys...
Witam, mam problem z zaprzęgnięciem do pracy EEPROMu z uC PIC32MK1024MCF064 . Nie używam Harmony, może stąd takie problemy... A więc do rzeczy, zgodnie z tym co jest napisane w DS (DS60001402D) ten uC ma 4KB emulowanego EEPROMu. Co to oznacza, że jest on emulowany? Rozumiem to, że nie jest to fizyczna pamięć EEPROM ale czy w takim razie konieczne jest...
OK. Poradziłem sobie z czasami. Narazie robię dla 1MHz. Jeżeli chodzi o kwarc 16MHz to myślałem żeby zrobić coś podobnego jak delay_loop_2(). Dzięki za wskazanie bo bym sam się męczył a tu obok nie zauważyłem gotowa funkcja:D Teraz brnę z moim termometrem dalej i znowu nie wiem co nie gra:cry: Oto kod: unsigned char ow_reset(void) // reset lini...
Jak to działa na AVR ? Ano np. tak: #include <avr/io.h> #include <stdio.h> #define USART_USED int lcd_putchar(char c , FILE *stream) { //LCD_wyswietl_znak(); return 0; } FILE lcd_str = FDEV_SETUP_STREAM(lcd_putchar,NULL, _FDEV_SETUP_WRITE); int main() { #ifdef USART_USED stderr=&lcd_str;...
Najprościej (choć pewnie nie najefektywniej) jest czytać po jednym bajcie. Spójrz na moje zmiany w Twoim kodzie. Problem z konfiguracją portu związany jest z tym, że należy najpierw odczytać bieżącą konfigurację Comm-a ( GetCommState ), zmienić to, co potrzeba i dopiero wtedy ją zapisać ( SetCommState ). Warto też sprawdzać wynik każdej operacji. Wtedy...
Mam duży problem z ponownym wywołaniem funkcji fwrite(). Nie wklejam kodu swojego programu, bo to nieistotne w tym wypadku. To jest przykładowy program z neta, wszystko działa jak należy (na tej samej zasadzie działa mój program): #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> void error(char...
Początkowy postęp obsługi platformy XR809: https://obrazki.elektroda.pl/9351602300_... https://obrazki.elektroda.pl/1788729100_... Oczywiście jest to aplikacja Hello World, ale aplikacja OpenBK7231T będzie również działać na XR809, więc większość OpenBK7231T będzie również dostępna na urządzeniach XRadioTech. Repo:...
Witam wszystkich! Mam do obsłużenia moduł ALFAT-SD v 1.2 (http://www.ghielectronics.com/catalog/p... Na wstępie zaznaczam, ze moduł jest na pewno sprawny, gdyż komunikacja po uarcie odbywa się prawidłowo. Potrzebuję "dogadać się" z nim po I2C. Producent mówi na ten temat to: 4.4. I2C Interface Mode I2C was completely updated starting with firmware...
OK udało się rozwiązać problem. Błędem było sprawdzania flagi TCR w pętli, jak ona jest ustawiana po wysłaniu wszystkich bajtów. Poniżej poprawny kod: [syntax=c] void I2C_HW_tx(uint8_t i2cAddr, uint8_t *dataTx, uint8_t length, uint8_t stopOrNotWhenSent) { if (stopOrNotWhenSent == STOP_WHEN_SENT) { I2C_TransferHandling(I2C_PERIPH, i2cAddr, length, I2C_AutoEnd_Mode,...
syscalls.c jest chyba konieczny do funkcji takich jak printf itp? Jak go wywalę, to kompilator zgłasza: undefined reference to `_close' undefined reference to `_sbrk' undefined reference to `_write' itd.
https://obrazki.elektroda.pl/8064219100_... Witajcie, dzisiaj przedstawię jak okiełznać kolejny chiński mikrokontroler WiFi+Bluetooth, a dokładniej W800-C400 od WinnerMicro. Na ten moment można go kupić za około 10 zł, z kolei płytkę startową z nim już za 25 zł i obie te ceny uwzględniają już przesyłkę. Oczywiście nie będę tu korzystać...
printf() używa okrutnych ilości RAM, więc zacząłbym od tego. Jeśli nie wyświetlasz liczb z przecinkiem, to użyj iprintf() - wersja ta nie obsługuje zmiennego przecinka, ale za to zajmuje mniej pamięci flash i chyba trochę mniej RAM. Do tego printf() wymaga funkcjonalnego syscallsa _write_r(), więc na "pierwszy ogień" lepiej zacząć od sprintf() (lub...
Co do protokołu TuyaMCU urządzeń zasilanych bateryjnie; taka ciekawostka; widzę, że ktoś bazując na moim artykule o programowaniu XR809 zrobił proste demko tego protokołu tylko na tą platformę: https://github.com/tony-fav/FavTuyaXR3 This is an attempt at a custom firmware for the Feit Electric Smart Wi-Fi Water Sensor (https://www.feit.com/product/smart-wi-f...
Jest to fragment odpowiedzialny za wpisywanie czegoś tam do wyświetlacza LCD, podłączonego przez LPT. Najważniejsze jest tutaj użycie IOPERM. Nigdy nie odwoływałem się do bibliotek systemowych z poziomu assmeblera, ale na pewno się jakoś da. Napewno będzie potrzebna deklaracja etykiety typu EXTERN, do biblioteki sys/io.h i odpowiednie zlinkowanie tego...
Hey. Zrob tak: Pierwszy sposób: #include <stdlib.h> .... float Wynik = 1.123; .... dtostrf(tmp,6,3,pomiar); //zamiana float na string wypiszNaLCD(pomiar); // twoja funkcja wypisująca ciąg znaków Drugi sposób (użycie printf-a): W pliku Makefile dodajesz: # If this is left blank, then it will use the Standard printf version. #PRINTF_LIB...
Cze, chcialbym dołaczyc sie do dyskusji. Mam nadzieje ze temat jest jeszcze aktualny:D POlaczylem modul CC1000 z mikrokontrolerem LPC2114. Uklad konfuguruje nastepujaco: SetupCC1000PD(); ResetCC1000(); SetupCC1000All(); // Pll_tx.bajt=0x48; // konfiguracja nadawania WakeUpCC1000ToTX(TX_CURRENT,Pll_tx.bajt)... SetupCC1000TX(TX_CURRENT,Pll_tx.bajt); if...
Gotowego programu nie mam, poniżej masz funkcję obsługi 1wire bez których się nie obejdziesz, musisz zrobić sobie tylko odpowiednie funkcje opóźnień, w listingu funkcje nazywają się np. waitus(x) -tzn czekaj x mikrosekund lub waitms -milisekundy, wait10us(x) -10*X mikrosekund itd. dodatkowo musisz przejrzeć aplikację i dopasować komendy, #define MATCH_ROM...
Printf zajmuje z 15kB, więc używanie tego mija się z celem... Przekierowanie strumieni jest proste, printf dla każdego ciągu wywołuje funkcję _write_r, którą trzeba zdefiniować samemu. Wystarczy żeby funkcja ta pisała do wybranego interfejsu. Tutaj nawet jest przykład, tyle że zakomentowany http://yagarto.de/download/yagarto/sysca... 4\/3!!
Po co odczytujesz 10 bajtów? Przecież DS wysyła tylko dwa po zapytaniu o temperaturę. Spróbuj użyć czegoś takiego: int tds; void Read_Temperature(void) { ow_reset(); write_byte(0xCC); //Skip ROM write_byte(0x44); // Start Conversion _delay_us(51); ow_reset(); write_byte(0xCC); // Skip ROM...
Dzień dobry. Zwracam się z uprzejmą prośbą o pomoc w uruchomieniu komunikacji bezprzewodowej na układach nRF24l01. Sytuacja wygląda tak: -Dwie płytki z Atmega8 i układem nRF -Zasilanie z zasilacza ATX (12v przez stabilizatory dla Atmeg i 3,3V dla nRF) -nRF'y do Atmeg podpięte bezpośrednio. Biblioteki dość popularne w internecie: http://www.tinkerer.eu/AVRLib/nRF24L01/....
Hej ! Nie zakładałem kolejnego tematu, bo sprawa dotyczy nadal tego samego. Udało mi się napisać i o dziwo skompilować aplikację. Mój program ma spełniać takie zadanie, że będzie wysyłał pewne sekwencje do drukarki i oczekiwał odpowiedzi. Problem polega w tym, że drukarka nic nie odsyła. Zauważyłem także, że pierwszy znak "buf" jest ucinany i zamieniany...
Chwilkę się tym pobawiłem i tak teraz do mnie dotarło, że nie trafiam w warunki zadania :/ main.cpp #include <cstdio> #include <cstdlib> #include <signal.h> #include <sys/wait.h> #include <unistd.h> #include <cstring> #include <fcntl.h> // PID potomkow pid_t child1; pid_t child2; // deskryptory potoku nienazwanego...
Generalnie należałoby to napisać w c/c++ lub co najmniej perlu lub pythonie ale bash też coś potrafi ;) skrypt serwer.sh[syntax=bash]#!/bin/bash fifo_cron="/tmp/fifo_cron" # fifo name fifo_php="/tmp/fifo_php" # fifo name fifo_serial="/tmp/fifo_serial" port="/dev/ttyS0" stty -F $port 115200 cs8 -cstopb -parenb -crtscts -ixon trap "rm -f $fifo_cron $fifo_php"...
* Program demonstrujacy dzialanie termometru DS1820; This program measure a temperature from DS1820 and shows it at LCD. Piny/Pins: PD1 - RS PD2 - E PD3 - D4 PD4 - D5 PD5 - D6 PD6 - D7 */ #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #define _AVR_DELAY_H_ 1 #define F_CPU 10000000UL #define DDR_DB4 DDRD #define...
Mógłbym spróbować napisać to w C#, ale wydaje mi się, że dla mnie łatwiej będzie przygotować ten program w C. Idę w ogóle w dobrym kierunku, jeśli chodzi o przeskanowanie przestrzeni adresowej z podanego przeze mnie zakresu ? W jaki sposób mogę, w pętli pytać o ID slave? Co mam w takim przypadku wpisać w ramce, w polu adresu slave? [syntax=C] #include...
Dzięki za pomoc :D Mam problem z zapisem uint8_t do pliku z użyciem funkcji f_write, z f_prinf działa bez problemów : f_printf(&myFile, "%d\n", buff_data[i]); Jednak zależy mi na szybkości zapisu, jak powinna wyglądać funkcja zapisu tablicy uint_8_t z f_write?
Jasne, program sprawdzony na ATmega 32, rezonator 8 MHz. void delay(unsigned int tau) { unsigned int tau2=tau; do {asm("nop"); //wstawka asemblerowa } while(--tau2); } unsigned char ow_reset(void) // reset lini one wire { unsigned char presence=1; sbi(DDRD,3); //DQ = 0; //pull DQ line delay(245); // leave it low // wystawienie na czas 490us "0" na linię...
Dzięki, działa. To jeszcze pytanie przy okazji: jak zrobić retargetowanie printfa na SH_SendString? Znalazłem trochę opisów, ale nie widzę dla zestawu GCC(Sourcery_CodeBench) + Eclipse. Gdy włączę opcję "Do not use default libraries (-nodefaultlibs)" wówczas linker czepia się braku syscalli. Umieszczam więc SH_SendString(ptr); w _write, ale funkcja...
Pierwsza rzecz to gniazdo - globalne, nie lokalne. Tylko raz robisz socket(), bind() i listen(). Przecież Twój serwer zawsze nasłuchuje na tym samym porcie. Robisz to zatem w programie głównym, nie w wątku. Wątek zazwyczaj jest otwierany dla połączenia z jednym z klientów - już po otrzymaniu nowego deskryptora przez accept(). Ew. jeżeli - jak twierdzisz...
Wiem ze temat ten jest juz ktorys raz poruszany ale zaden poprzedni nie rozwiazuje mojego problemu. Chce wyslac przy pomocy rs232 jakas dana z 1 komputera i odebrac na 2-gim tez przy pomocy rs232. Z braku 2 komputerow w miejscu pracy chce wyslac z 1 coma na 2. Program wysylajacy mam taki: #include <stdio.h> /* Standard input/output definitions...
witam, znalazłem na dysku coś takiego: #include <stdio.h> #include <string.h> /* String function definitions */ #include <unistd.h> /* UNIX standard function definitions */ #include <fcntl.h> /* File control definitions */ #include <termios.h> #define BAUDRATE 115200 int main (void) { int fd,i; struct termios...
co muszę zrobić, żebym mógł tak go używać?;] czy można stworzyć po prostu strumień do którego wpisywałbym dane za pomocą fprintf jak to było np. w AVR-GCC? czyli np. fprintf(&LCD, "Hello World"); czy już tak łatwo to nie pójdzie?;P Jeśli mowa o printf() z newlib, to nie jest to aż takie proste... Musisz zaimplementować (poprawnie) syscalls odpowiedzialne...
Witam, Napisałem minimalną obsługę portu COM w linuxie w języku C. Chciałem wysyłać zdefiniowaną ramkę i odebrać odpowiedź z urządzenia jak poniżej: https://obrazki.elektroda.pl/7310193600_... Pomimo tego że ramka do wysłania jest zdefiniowana na stałe to za każdym wywołaniem programu wysyłane jest coś innego. W czym jest problem ?...
Jak dorzucisz znajdujące się na stronce tzw. "syscalls", to możesz korzystać z sprintf() i sscanf() (i pochodnych). Jak dodasz poprawną implementację _write_r() to możesz też korzystać z printf() i pochodnych, analogicznie - implementacja _read_r() umożliwi korzystanie z scanf(). 4\/3!!
Udało się , po prostu trzeba dopisać gwiazdkę : FILE* lcd_str = FDEV_SETUP_STREAM(piszdlcd, NULL, _FDEV_SETUP_WRITE); i w tym momencie printf śmiga !
-Presence jest 0 a wiec widzi mego Sensora W którym miejscu programu , jest to sprawdzane :?: jacur ma rację - dajesz za mało czasu na konwersję temperatury. Na początek , spróbuj odczytać seriala. void main() { char get[10]; int k; char temp_f,temp_c; while(1) { if!(ow_reset()) { write_byte(0x33);...
[syntax=c] #include <cstdlib> #include <iostream> #include "/etc/RF24/librf24-rpi/librf24/RF24.h" RF24 radio("/dev/spidev0.0",8000000 , 22); const uint64_t pipes[2] = { 0xF0F0F0F0D2LL, 0xF0F0F0F0E1LL }; void setup(int channel) { printf("\n\rSwitch relay in the garage on \n\r"); radio.begin(); radio.setDataRate(RF24_1MBPS); radio.setRetries(15,15);...
zalezy jak on to wysyla, moze czeka potem na jakiegos read'a, na ktorego nie moze sie doczekac bo dane ida do nikad. zeby te funkcje printf dzialaly to musza byc jeszcze zaimplementowane inne pomniejsze funkcje typu write, read etc i to moze wlasnie z nimi jest problem.
możliwe masz źródło. Program steruje wyświetlaczem LCD na t6963c. W define masz załączanie i gaszenie diod połączonych do lpt #include <stdio.h> #include <stdlib.h> // rand() #include <conio.h> // inp() outp() kbhit() #include <string.h> // strlen() #include <math.h> // cos(),sin()...
Witam Mam pewien problem - obstawiam że banalny ale nie mogę znaleść rozwiązania od 2 dni ;-( Otóż mam czujnika MEMS z którego zbieram dane (najlepiej ok 256 pomiarów z jednej osi) i chcę je wgrać na kartę SD. Niestety coś jest nie tak bo nie działa to dobrze. tzn działa gdy danych jest mało np: MEMS1_to_SDCard (50) oraz char tText_x[500]; natomiast...
na ponizszym kodzie działało przez jakiś czas i się zesr....ło, nie mam pojęcia dlaczego ale próbuję dalej, dokładnie to dzisiaj rano przestało działać jak ponownie wgrałem program do Arduino bez dokonywania zmiany, dziwne... Oczywiście jak tylko uda mi się poprawić aby działało dłużej niż dzien to kod udostępnię ale jakby komuś udało się wcześniej...
Należałoby przyjrzeć się używanej przez Ciebie funkcji printf bądź napisać własną od nowa. Wystarczyło by _write czy też odpowiednik dla avrów. Choć to i tak jest rozwiązanie kiepskie. Od przejścia na nasłuch służy flaga TC czy jej odpowiednik. Nie ważne czy w trybie przerwaniowym czy pollingu.
Witajcie mam problem z daptacją kodu. Zajmuję się kontrolerem BQ8030 można z nim się połączyć przez I2C i za pomocą transmisji SMBus można ten kontroler zresetować. Podszedłem do tematu i udało się za pomocą modułów CP2112 oraz FXL2P udało się zresetować kontroler. Założyłem oddzielny temat dotyczący tego problemu. Link poniżej. https://www.elektroda.pl/rtvforum/viewto...
0,4,7 to adresy na pinach A0,A1,A2. Rezystory podciągające 4.7k. Szybkość transmisji 92160 kHz. #define F_CPU 11059200UL void TwiInit() {//Set up TWI Module TWBR = 13; TWSR &= (~((1<<TWPS1)|(1<<TWPS0))); } Spróbuje zwolnić prędkość, może coś pomoże. Z innymi rezystorami też sprawdze, dzięki. Albert Dodano po 4 Dondu, Funkcje wyglądają...
Może konflikt pinów z LCD i SPI. Musisz pokombinować. Zresztą, zrób sobie pusty projekt dodaj fatfs i ten plik, napisz obsługę SPI i powinno działać. A i uzupełnij sobie funkcje int _write(); np. tak żeby korzystała z USART, będzie ci działać printf();.
Doszedłem że ta funkcje to przerobiona funkcja printf: * - PRINTF.C - * * Copyright 1998 IAR Systems. All rights reserved. * * The ANSI "printf" function. * * $Revision: 1.2 $ * ****************************************... #include "stdarg.h" #include "stdio.h" #include "icclbutl.h" int...
kawałek kodu: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <stdlib.h> #include <strings.h> #define BAUDRATE B115200 #define MODEMDEVICE "/dev/ttyS0" #define _POSIX_SOURCE 1 #define FALSE 0 #define TRUE 1 volatile int STOP=FALSE; int...
Hej Napisałem dwuwątkowy program, który ma czytać z portu i wysyłać dane przez tcp. W tym celu jeden wątek jest odpoweidzialny za czytanie, drugi za wysyłanie. Oba wątki uruchamiają się (korzytsam z pthread.h), ale...problem polega na tym iż pętla główna wątku czytającego z portu zachowuje sie co najmniej dziwnie : wklejam kod i wyjśćie : printf("\n\r...
No właśnie takie podobne jak Ty znajdywałem. Nie ma nic takiego co by w konsoli wyświetlało tylko? [syntax=c]#include <windows.h> #include <stdio.h> #include<iostream> #include<fstream> #include <conio.h> #include <string.h> static DCB dcb; //struktura DCB (Device Control Block) definiująca rodzaj połączenia static...
Tak krócej, bez wywoływania funkcji, zresztą nie wiem, czy one są zaimplementowane w całości, a to na pewno działa, a że zasoby są statyczne, to zajmuje mniej miejsca: FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW); int main(void) { stderr = stdout = stdin = &uart_str; } Do tego na przykład taka...
printf winavr printf eclipse printf double
budowa krajzegi najlepsza scada astra rozrusznik
duplikaty plików total commander zaznaczanie
Quad gaśnie po odpaleniu - diagnostyka i rozwiązania Odpowiednik głowicy DNOS403MH261B(S) z DVB-T2