w pętli while dodać warunek od zmiennej liczącej czas zmniejszanej w przerwaniu timera [syntax=c]timeout=100; while( !(TWCR & (1<<TWINT)) && timeout); if(timeout==0) // obsługa błedu[/syntax]
timeout = 1000000000000000000; while((timeout > 0) && ! (TWCR & (1 << TWINT))) timeout --;
Dziękuję za odpowiedź. Po przeczytaniu tego faktu w erracie czytam w RM0090 co z tym można zrobić. Trzeba zapewne wprowadzić zmiany w rejestrze SDRTR (?) i SDCMR ale ustawiać któreś bity w przerwaniach? Nie wiem jak się do tego zabrać. OK. Doczytałem że trzeba ustawić bity w rejestrze SDCMR na 0x005 żeby SDRAM był w trybie SELF_REFRESH i 0x000 żeby...
1. Nie pamiętam rejestrów AVR ale zakładając, że twój timer działa to funkcja powinna poinformować środowisko jaki jest status operacji a czas timeoutu powinien być ustawiany w funkcji Przy okazji włóż trochę wysiłku w formatowanie kodu - bo tego się nie da oglądać., [syntax=c]#define UART_TIMEOUT 1 #define UART_OK 0 uint8_t UART_receive(uint_t *data,...
aktualnie mam kod do DMA: konfiguracja i2c gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_OPENDRAIN,GPIO_I2C... | GPIO_I2C1_SDA); I2C_CR1(I2C1) |= I2C_CR1_SWRST; I2C_CR1(I2C1) &= ~I2C_CR1_SWRST; i2c_peripheral_disable(I2C1); i2c_set_clock_frequency(I2C1, I2C_CR2_FREQ_36MHZ); i2c_set_fast_mode(I2C1);...
Znalazłem sprzętową obsługę TIW dla ATXmega. [syntax=c]#define BAUDRATE 200000 #define TWI_BAUD(F_SYS, F_TWI) ((F_SYS / (2 * F_TWI)) - 5) #define TWI_BAUDSETTING TWI_BAUD(F_CPU, BAUDRATE) #define TWI_READ_bm 1 #define TWI_WRITE_bm 0 #define RTC_SLAVE_ADDRESS 0x68 //0xD0 #define TWI TWIE void twi_init() { //PR.PRPE&= ~PR_TWI_bm; //Disable Pwer Reduction...
Poprawiłem dodając warunek sprawdzenia statusu poprawnie otrzymanych danych i warunek czekania do czasu kiedy karta jest w stanie busy .Dalej nie działa :/ _delay_ms od tak umieściłem ,bo czasami pomaga,a nie potrzebuję szybkiego zapisu. [syntax=c] while(timeout>0) { timeout--; _delay_ms(50); data = SPI_READ(0xFF); if((data & 0x0F) == 0x05)break; }...
Fakt, wygląda na to, że TWI nie był w trybie smart. Poprawiłem inicjalizację i wygląda na to że wszystko działa jak należy. Poniżej cały, sprawdzony i działający kod. Dziękuję wszystkim za konstruktywną pomoc :-) [syntax=c] #define BAUDRATE 100000 #define TWI_BAUD(F_SYS, F_TWI) ((F_SYS / (2 * F_TWI)) - 5) #define TWI_BAUDSETTING TWI_BAUD(F_CPU, BAUDRATE)...
Witam, Usiłuję odczytać wartość z rejestru 16bitowego i nie mam pojęcia jak to powinienem zrealizować za pomocą funkcji "TWI_read". Do tej pory gdy "bufor_size" był równy jeden to nie miałem z tym problemu. Teraz niestety nie wiem jak to ugryźć... Poniżej kod który zawiera tyko to co dotyczy pytania, na koniec funkcja "main" w której zaznaczyłem czego...
Witam serdecznie, Może zacznę od opisania problemu. Otóż następujące funkcje działają bez zarzutu - z jednym wyjątkiem - użyciem funkcji wielosektorowego zapisu po funkcji wielosektorowego odczytu. Drugi dzień próbuję zdiagnozować problem i niestety w tym momencie nie mam pojęcia z czym to może być związane. Jest to niestety pierwsza moja styczność...
I am trying to control ActiveOutputLimit of the Sofar Solar 110 KTL grid-tied inverter through Modbus. I am using function code 6 to update activeOutputLimit to change the active power. Every time it shows a timeout error. while reading Modbus registers is ok but writing is not working. Does anyone have such a kind of experience and solution?
Na Windows: [syntax=cpp]#include <Windows.h> // ... int waitForKey(DWORD timeout, int *keys, DWORD res = 100, int defRet = 0) { DWORD start = GetTickCount(); while (start >= GetTickCount() - timeout) { Sleep(res); for (int i = 0; keys[i] != NULL; ++i) if (GetAsyncKeyState(keys[i]) & 0x8000) // MSB is set return keys[i]; } return defRet;...
Kompilator się nie buntuje, kompiluje. Delay.h i Delay.c wziąłem ze strony : [url=http://www.microchipc.com/sourcecod... podobno są zawarte tam opóźnienia DelayMs() i DelayUs(). Wnętrze Delay.c: [syntax=c]/* high level delay routines - see delay.h for more info. Designed by Shane Tolmie of www.microchipC.com corporation....
szukałem.... jedna z metod to jeśli się nie mylę to ta: I2Cx_CR1_SWRST Ale to nie do końca o to chodzi. Jak napisałem zdarza się ze przypadkowo zwiesi się całkiem i2c i nie jestem w stanie go wskrzesić. Ale nie o to już w tym wszystkim chodzi. Są to sporadyczne przypadki. Problemem jest poprawny odczyt i zapis. Opisze mniej więcej budowę urządzenia....
Cześć :) Postawiłem sobie za zadanie opanować i dobrze zrozumieć bibliotekę uart od Atmela. W poprzednim poście zastanawiałem się nad przerwaniem TXC, a teraz próbuję wykonać coś w rodzaju echa - mianowicie znaki, które wyślę z terminala do procka chcę wysłać na terminal w takiej samej kolejności + liczba informująca o ilości odebranych znaków. Popełniłem...
[syntax=c] ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {Time_out=0;}; int x; do { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { x=Time_out;); } while (x < 1000); [/syntax]
Czołem, Mam problem z przesyłem danych USARTEM. Mam taką o to funkcję: [syntax=c] void usartSend(char* data) { uint32_t timeout = 100000; while (*data != 0x00 && timeout > 0){ if (USART2->SR & USART_SR_TXE){ USART2->SR &= ~USART_SR_TXE; USART2->DR = *(data++); timeout = 100000; } timeout--; } } [/syntax] Jeśli wyślę dwa stringi, z których drugi jest...
Kolejne pytanie. Wiadomo, że czasem przy obsłudze układów peryferyjnych trzeba na coś czekać. Np na flagę: [syntax=c] while(!(I2C1->SR1 & I2C_SR1_ADDR)); [/syntax] Jeżeli coś będzie nie tak z urządzeniem to może się zdarzyć, że ten while się po prostu nie skończy. Kod powinien być tak przygotowany aby po określonym timeoucie przerwać działanie funkcji....
Witam chce sciagnac simlocka tym sposobem: SOLUCJA UNLOCK Motorola C350 1. Za pomocą MSS 3.2.3 wgrywamy plik C350_Europe_and_Asia_Manufacturing_Flex_... Podkreślam, że MSS 3.2.3 bo w wyższych wersjach będą występowały błędy podczas flashowania ! 2. Po flashowaniu klikamy jeszcze na „restart phone” 3. Przechodzimy do PST...
Witam Błąd jaki dostawałem przy próbie połączenia też był 6 Illegal value. W sumie to nie podobało mi się to że muszę się z stm32'a łączyć z PC i podawać IP Zrobiłem to w inny sposób, stm32 nasłuchuje na jakimś tam porcie. Jak dostaje dane z PC to potem wysyłam dane z Stm32 na tym samym porcie. Na Pc w C# zrobiłem wysyłanie i odbiór danych i jak na...
Witam, ogarnąłem już sobie I2C, układ PCF8583 działa świetnie i bo sobie obsługuję. Dodaję obsługę pamięci EEPROM 24C64 i co ciekawe, układ PCF działa natomiast w momencie wysłania komendy START + Adres eeproma, ten zwraca NACK, czyli nie odpowiada - sprawdzone analizatorem stanów logicznych. Przewody to raptem 15 cm, więc wątpię, że to jest to. Częstotliwość...
Przepraszam za post pod postem, ale nie chciałem zakładać nowego wątku, a już napisałem kod. Pojawił się jednak problem gdy odbieram daną - program się zawiesza. Jak zrobić, żeby program mógł zarówno wysyłać jak i odbierać dane, tak jak jest to robione w Terminalach? Użyłem nawet funkcji Timera, zresztą kod lepiej to pokaże: tutaj kod timera: [syntax=cpp]COMMTIMEOUTS...
Witaj, ja to zrobiłem tak: 1. Uruchomiłem timer z przerwaniem co 10ms 2. Zrobiłem funkcję timeout_100ms() z globalną zmienną timeout_100ms. 3. Zrobiłem funkcję zwracającą stan_zmiennej_timeout_100ms. Jeśli osiąganięto 10 wywołań to ustawiam 1 logiczą w innym przpadku 0. 4. Wykonałem również funckję clear_timeout_100ms() 5. Wykonałem funkcję start_timeout_100ms()...
Trzeba by najpierw spróbować połączyć się z siecią, sprawdzić czy się powiodło a dopiero potem odpalić Blynka. Ale jak to zrobić? Najpierw łączysz się z siecią: WiFi.begin(ssid, pass); W pętli sprawdzasz czy jest już połączenie while (WiFi.status() != WL_CONNECTED) { delay(500); } i odpalasz blynka Blynk.config(auth);...
Witam, mam problem z odbieraniem danych przez i2c z użyciem mikrokontrolera stm32f103. Sytuacja wygląda tak, że potrafię przesyłać dane po i2c, (wysyłam adres, czujnik odpowiada, wysyłam mu komendę wykonania pomiaru, wiem że go wykonuję ponieważ wtedy "mruga" diodą), niestety mam problem z odbieraniem danych. Testowałem już wiele funkcji z sieci, ale...
Hej, mam zaprojektowaną przez kogoś innego płytkę z mikrokontrolerem PIC32MX250F128B z wyprowadzonymi 4 pinami do JTAG, a do tego J-Link Edu i MPLAB X v4.15 z pluginem J-Link. Kiedy próbuję zaprogramować MCU przez MPLAB dostaję następujący błąd: Connection Failed Comm library returned an error code of -261, No CPU found. Próbowałam też połączyć się...
Witam kolegów. Kupiłem kabelek na st3232b do programowania mojego ręczniaka i mam takie błędy podczas odczytu z niego programem vx-7 commander v1.3.4: Opening Port... Waiting for first data block... First Block Received. Length: 11 Data: 0A 01 02 06 09 24 FA 02 02 24 00 Looking for nulls at beginning and end... Found null at end. Removing... New first...
Rozwiązałem problem, tak wygląda kod dla L0: Inicjalizacja: [syntax=C]RCC->APB1ENR |=RCC_APB1ENR_I2C1EN; RCC->IOPENR |=RCC_IOPENR_GPIOBEN; GPIOB->MODER =GPIO_MODER_MODE8_1 | // I2C_CLK GPIO_MODER_MODE9_1; // I2C_DATA GPIOB->PUPDR =GPIO_PUPDR_PUPD8_0| // I2C_CLK GPIO_PUPDR_PUPD9_0; // I2C_DATA GPIOB->AFR[1] =(4<<GPIO_AFRH_AFRH0_Pos)...
Witam mam dziwny problem. Mam dołączoną kość SDRAMu (W9825G6JH-6) do STM32F429. Kość konfiguruję następująco: [syntax=c] uint8_t SDRAM_Init(void) { FMC_SDRAMInitTypeDef FMC_SDRAMInitDef; FMC_SDRAMTimingInitTypeDef FMC_SDRAMTimingInitDef; FMC_SDRAMCommandTypeDef FMC_SDRAMCommandStructure; uint32_t timeout = SDRAM_TIMEOUT; /* Initialize FMC pins */ TM_SDRAM_InitPins();...
A co ma SysTick z DMA wspólnego? Coś innego powoduje kłopoty. Nie bezpośrednio SysTick, ale czas potrzebny na obsługę jego przerwania powoduje, że w niektórych okolicznościach (któryś z etapów transmisji, którą nie mogę zrobić jedynie z DMA ale np. muszę włączyć MOSI w tryb odbierania "manualnie", aby zacząc generować impulsy do odczytu). W przypadku...
W moim przypadku wygląda o wstępnie tak: import serial import shutil src = serial.Serial("COM1", 19200, timeout=2) dst = file("plik.txt", "w") while True: shutil.copyfileobj(src, dst) (at)Dr.Vee Kiedy wstawiłem pyserial tak jak radziłeś program nie wstawał Odczytuje prawidłowo wszystkie wartości,...
Odgrzeję kotleta. Spędzam popołudnie wraz z tym projektem i niestety jest problem z odczytem drugiej linii hexa. Pierwsza linia jest ok, dostaję odpowiedź '+', a przy następnej wiesza się w pętli gdy czeka na pierwszy znak tj ':' i program staruje od początku. Kompetnie nie wiem dlaczego, gdy czeka na drugą linię tylko wchodzi do funkcji z petlą : static...
xury -> to fakt, że ostatnio już w Bascomie praktycznie nie programuję ;) ale proszę oto fragment helpa Bascomicznego z dokładnym opisem tego polecenia oraz jak i kiedy można z niego korzystać. Więc nie wiem albo może czegoś nie zrozumiałem z tego co napisałeś - że ponoć tego nie możesz znaleźć czy że nie ma $TIMEOUT Top Previous Next Action Enable...
Panowie potrzebuję pomocy, bo się pogubiłem. Próbuję przerzucić GPIOC->IDR do bufora w pamięci RAM. DMA wyzwalać chcę Timerem 3. W szablonach do konfiguracji Timera mam takie 3 funkcje: TIM_DMAConfig(), TIM_DMACmd(), TIM_SelectCCDMA(). Ale żadna nie ustawia mi który DMA i który kanał ma popędzać. Najpierw inicjalizuję DMA2 funkcją: [syntax=c] void init_DMA2(void)...
Zazwyczaj używam tej funkcji: [syntax=c]/** * Brief This function configures RTC. * Param None * Retval Clock source: 0-none, 1-LSE, 2-LSI, 3-HSI */ uint8_t rtcInit(void) { uint32_t timeStart; if((RTC->BKPREG[BKUP_DISP_MODE] & 0x40000000) == 0) {// Enable PWR clock RCC->APB1ENR1 |= RCC_APB1ENR1_PWREN; // Disable backup domain protection PWR->CR1...
(at)maksym92 Być może masz problem z funkcją, która zapisuje blok. Nie sprawdzasz statusów zwracanych przez funkcję. Radzę uruchomić debugger i sprawdzić czy przykładowo nie masz timeoutu np tutaj: [syntax=c] wait = 0x7fff; // Recommended timeout is 250ms (500ms for SDXC) FIXME: 0x7fff is set by sight, need calculate more adequate value do { cmdres...
Witam, Posiadam konwerter FT232. Po podłączeniu go do Windowsa i ustawieniu szybkości na 115200 jest wszystko ok, ładnie odbierane dane. Jednak po podłączeniu do Raspberry Pi i przykładowo wykonaniu poniższego skryptu: [syntax=python]#!/usr/bin/python import serial import binascii ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) while True: str1...
(at)Monys Widzę że jak nie gotowca to nie pójdzie. Dałem Ci link do dokumentacji. A tu masz gotowca: [syntax=c] int EraseFlash(uint32_t address, int lockatexit) { if(address & 2047) return -1; // must be 2048 bytes aligned if(FLASH -> CR & FLASH_CR_LOCK) { FLASH -> KEYR = 0x45670123; FLASH -> KEYR = 0xCDEF89AB; while(FLASH -> CR & FLASH_CR_LOCK) {/*...
Kiko_1: podawanie adresu IP routera jest zbędne bo mam DDNS ustawiony. Ale samo wpisanie adresu IP czy domeny DDNS skutkuje jedynie takim komunikatem: HTTP Error 504: Gateway Timeout The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server it accessed in attempting to complete the request. Po włączeniu...
Rozwiązania bywają różne ale dla tamtego konkretnego przypadku ja np zastosowałem cos takiego [syntax=c] timeout = SysTick->VAL; while( !( I2C2->SR1 & I2C_SR1_ADDR ) ) { if (STCLK_MS*10 < (timeout - SysTick->VAL)) return 2;} dummy = I2C2->SR2;flag[/syntax] zaobserwowałem że program zatrzymuje sie zawsze w jednej i tej samej pętli,...
Witam, Mam problem z przesłaniem danych przez POST na localhost - już męczę się z tym dłuższy czas i nic mi nie wychodzi. Serwer jest uruchomiony na tablecie. Localhost jest pod adresem 192.168.1.3:8080 Plik ze skryptem PHP jest pod adresem http://192.168.1.3:8080/uaktualnienie.ph... Przy próbie wysłania otrzymuje komunikat na serial monitorze: connecting...
Zamiast lecieć w pętli wykorzystaj thread'y W pierwzym wpisz sobie obsługę RSa a w drugim obsługę pliku. Poczytaj o semaforach i mutexach do tego. A te krzaki świadczą raczej o braku kodowania spróbuj takiej sztuczki: zrobiłem jak poradziłeś ale mam błąd: File "test1.py", line 12 do_zapisu = bytes(myString, "UTF-8") ^ TabError: inconsistent use of...
dla programu: #include <SoftwareSerial.h> SoftwareSerial sim800l(8, 9); // RX, TX dla komunikacji z SIM800L String server = "http://miliohm.com/miliohmSIM8... // Adres URL void setup() { // Uruchomienie portu szeregowego do debugowania Serial.begin(9600); // Port do debugowania z komputerem (jeśli...
Witam serdecznie, Fronius symo wyświetla mi błąd 314 Current sensor calibration timeout Short term interruption while feeding energy into the grid. The inverter resumes with its startup routine. Czy ktoś z użytkowników froniusów miał taki błąd? i co to oznacza? Czy to jest jakaś poważna usterka? Tego dnia w którym pojawił się błąd wyprodukował 2,3kwh....
while (! (RCC->CR & RCC_CR_HSERDY) ) {;} // wait for XTAL ready proponowałbym dodać timeout jak bt xtal jednak nie wystartował.
Schemat się nie zmienił , na chwilę obecną mam pełną komunikację w dwie strony :) Komendy wysyłane są poprzez uruchomienie skryptu w pythonie z raspberry. Nie trzeba na nic czekać po prostu włączam wysyłanie ramki ( cała tablica bajtów!) czekam kilka sec (skrypt wykonuje się cyklicznie po otrzymaniu danych z pieca) i wyłączam skrypt. Ramka chcąc czy...
Cześć :) Sprawdzam różne rzeczy podczas nauki uarta dla xmega128a3u. Korzystam z biblioteki Atmela, uart w trybie z przerwaniami, software'owy cykliczny bufor odbiorczy i nadawczy. Mam tablicę z danymi w formie znaków ASCII. Oglądam sobie wszystko przy pomocy realterma, do PC podłączone za pomocą przejściówki rs485-usb. Chciałem na początek obliczyć...
To jest z przykładu dołączonego do noty: [syntax=c] #define OAR1_ADD0_Set ((uint16_t)0x0001) Status I2C_Master_BufferWrite(I2C_TypeDef* I2Cx, uint8_t* pBuffer, uint32_t NumByteToWrite, I2C_ProgrammingModel Mode, uint8_t SlaveAddress ) { ... else if (Mode == Polling) /* I2Cx Master Transmission using Polling */ { Timeout = 0xFFFF; I2Cx->CR1 |= CR1_START_Set;...
Witam Chciałbym zoptymalizować kod pod względem zajętości pamięci konkretnie chodzi mi o obsługę UARTU. Nie wiem ile dokładnie pamięci zyskam (pewnie 2 bajty, ale chciałbym się też czegoś nowego przy okazji nauczyć) Generalnie mam 2 funkcje [syntax=c] static void SendByte(uint8_t data){ while(!(UCSR0A & (1<<UDRE0))); UDR0 = data; static uint8_t...
(at)qaz88 Probuje najprostsza komende CMD19 metoda pulling po ktorej wg. noty powinienem dostac 64 slowa a zamiast tego mam CMD timeout error. Co robie nie tak? To nie jest najprostsza metoda odczytu bloku. CMD19 is defined for Send Tuning Block Command. R1 type response is defined. CMD19 can be executed in transfer state of 1.8V signaling mode while...
Korzystam na STM32 z pewnego czujnika na magistrali I2C. Przykłądowy kod odczytu: [syntax=c]uint8_t i2c_read(uint8_t address, uint8_t reg, uint8_t *val) { i2c_generate_start(); while(!i2c_check_event(I2C_EVENT_MASTER_... i2c_send_7b_address(address, I2C_DIRECTION_TRANSMITTER); while(!i2c_check_event(I2C_EVENT_MASTER_...
Witam. Piszę właśnie program, którego zadaniem jest pobranie 1 klatki (zrobienie zdjęcia) z kamery MT9D111 (nota katalogowa: http://www.dragonwake.com/download/camer... ) Klatki z kamery będzie pobierał mikrokontroler STM32F429, taktowany częstotliwością 180MHz. Wzoruję się na informacjach zawartych na stronie: http://www.stm32.eu/node/307...
Witam, Dane projektu: Atmega128 zasilana 3,3V Karta uSD 1GB wlutowana na płytkę jako główna pamięć zapisu zdarzeń Gniazdo karty SD do kopiowania danych z uSD na SD SD co działa: Inicjalizacja - działa zawsze bez problemu Zapisywanie - przy 250kHz zapis drugiego bajtu kończy się niepowodzeniem, przy 100kHz co dziesiąty kończy się niepowodzeniem Odczytywanie...
Kombinuje i nic nie wychodzi. Czy ktoś zechciałby mi pomóc w odczytaniu temperatury z tego układu?. Narazie mam coś takiego ale nie działa . ^CTraceback (most recent call last): File "temp.py", line 48, in <module> line = ser.readline() File "/usr/lib/python2.7/dist-packages/serial... line 472, in read ready, _, _ = select.select(...
witam mam problem z którym dość długo się juz męcze bezskutecznie :( odbieram sms z telefonu simens który wygląda tak: +CMGR: "REC READ","+48xxxxxxxxx",,&qu... tresc sms odbieram go w przerwaniach : SIGNAL (SIG_UART_RECV) { znak = UDR ; if(znak == 0x0d || znak == 0x0A ) {...
Witam Jestem mocno początkujący więc proszę o wyrozumiałość. Postawiłem sobie za zadanie zbudować pewien projekt od A do Z... (tak mi się najszybciej uczy, analizowanie przerabianie itd...) Jak na razie chciałbym nie zdradzać co to jest więc będę podsyłał kawałki kodu. Do rzeczy: Znalazłem w sieci taki fragment kodu: [syntax=c]SoftwareSerial esp8266(RX,TX);...
Edit: DMA nie działało bowłączałem DMA2 a nie DMA1. Napiszę jak dalej pójdzie :] Cześć, mam pewne problemy z I2C, bazowałem na zmodyfikowanym kodzie od ST (jak mnie pamięć nie myli) najpierw używałem samych przerwań na najwyższym priorytecie jak ST przykazało, niestety od czasu do czasu zdarzało się że RTOS wyłączał wszystkie przerwania i przy odbiorze...
A pytanie jest takie- czy da się to zrobić bez while()? Tylko na przerwaniach. FIFO na instrukcje, kolejkowanie kolejnych tranzykcji. Opracowujesz Sobie zgrabną strukturę: teraz operował. I masz pełną dowolność, prosta maszyna stanów FSM i sprawdzasz za pomocą if co można zrobić i zmieniasz stany. Nie ogranicza Ciebie timeout, bo takiego z reguły nie...
Na początku opiszę problem. Mam sporo ESP w domu. Cały model sterowania opiera się o łączność z serwerem, a konkretnie ze skryptami PHP. Aplikacja WEB łączy się z serwerem i przesyła lub odbiera informacje (np. zapala lampę, odczytuje temperaturę itp.). Z drugiej strony mam ESP, które odpowiednio reagują. Jeśli tylko wysyłają dane (np. temperaturę)...
In case of a noisy environment in which unwanted bus errors can occur, it is recommended to implement a timeout to ensure that after the START control bit is set, the SB (start bit) flag is set. In case the timeout has elapsed, the peripheral must be reset by setting the SWRST bit in the I2C_CR1 control register. It should also be reset in the same...
Po pierwsze - sprawdź lutowanie. Po drugie - uruchom HSE bez PLL. Po trzecie, upywaj stalych symbolicznych, bo nikt nie będzie sprawdzał znaczenia bitów w rejestrach tylko po to, żeby Ci pomóc. To poniżej działa: RCC->CR |= RCC_CR_HSEON;// ext. crystal while (!(RCC->CR & RCC_CR_HSERDY));
A dokładnie, to jak to robisz? volatile int8_t spi1_error=0; ... static uint8_t spiTransferByte(uint8_t addr,uint8_t data) // { // spi1_error=0; // GPIOC->BRR =(1<<12); // nSEL-->low uint32_t timer=spi_Timeout; // while(!(SPI1->SR&SPI_SR_TXE ) { if(--timer==0) return(spi1_error=-1);} // SPI1->DR=(uint16_t)(data|(addr<<...
Dobry wieczór Korzystałem z RM, DS i taki kod wyszedł - wybaczcie. Na ekranie mam wyświetlone Timeout error pomiar. Mogę sobie nawet wyświetlić wartość LoopGuard - tylko po co ? Czyli wywala się na kodzie : [syntax=c] // start pomiaru ADC1->CR |= ADC_CR_ADSTART; //0x4 LoopGuard = 0; while( 0 == (ADC1->ISR & ADC_ISR_EOC) ) // 0x4 { if( ++LoopGuard >...
Myślę że jak się pisze: CS_bb=0; to musi też gdzieś być: CS_bb=1; Moja komunikacja z MEMS-em po spi [SPL niestety]: [syntax=c]lis3dsh_register lis3dsh_read_register(lis3dsh_register addres) { lis3dsh_register buffer; addres|=(uint8_t)READWRITE_CMD; LIS3DSH_CS_LOW(); _lis3dsh_sendbyte(addres); buffer=_lis3dsh_sendbyte(DUMMY_BYTE); LIS3DSH_CS_HIGH();...
Tablica juz byla zerowana, jedynkowana i nic nie pomoglo. Zmienialem z volatile na static i tez nic. W symulatorze MPlab rowniez nie chce sie przypisywac, wiec gdzies jest jakis haczyk, tylko pytanie gdzie. Dodam jeszcze, ze kompilator to CCS, a procek to 18F4680. Wlasnie sprawdzilem, jezeli jest tylko to przypisywanie w programie to jest wszystko ok,...
Przegladalem jego kody i on tam jak wysyła start i stop i bajt lub odbiera to zawsze ma koncu ustawia w stan niski scl.Tylko jak stop wysyla to tak nie robi Jak by po stopie ustwił niski to zablokowałby magistrale. STOP = koniec transmisji, zwalniam magistrale. Po prostu nie rozumiesz kodu - nie ma stopu czyli transmisja nie jest skonczona, czyli jako...
https://obrazki.elektroda.pl/2445451800_... Czy sprawdzaliście ile "niechcianego" ruchu z internetu przychodzi do urządzenia z publicznym adresem IPv4? W domowych warunkach takim urządzeniem "wystawionym na Świat" może być router, laptop, lub np. telewizor. Na interfejs urządzenia z publicznym adresem IP poza komunikacją, którą sami...
Znalazłem coś takiego: [syntax=c] unsigned int i = 0; //timeout counter int n = 1; // char counter char json[500] ="{"; while (!client.find("\"USD\":{")){} while (i<600) { if(client.available()) { char c = client.read(); json[n]=c; if(c=='}') break; n++; i=0; } i++; }[/syntax] I...działa!! Dziękuję panowie za zainteresowanie, a przykład może się...
Cześć. Mam płytkę z procesorem ESP32, do której podłączyłem moduł XL1278 (LoRa). Połączenie między modułami wykonałem na 7 kabelkach: 3V3, GND, MISO, MOSI, SCLK, RST, NSS. Zainstalowałem dla Arduino bibliotekę RadioLib, którą znalazłem w menadżerze bibliotek w Arduino. Jeszcze co do samego połączenia to wyprowadzenia MISO, MOSI, SCLK modułu XL1278 podłączyłem...
Do wypróbowania skrypt w Pythonie 3: [syntax=python]#!/usr/bin/env python # argumenty: url= time= prefix= logpr= albo u= t= p= l= import socket, os, fcntl, io, sys, time, re # czy Python3? (Python2 ma inna biblioteke urllib): mpv = sys.version_info.major if mpv == 3: from urllib import request as urq else: print("Uzyj Python-a 3!"); sys.exit(-1) url="http://stream4.nadaje.com:9240/prw"...
No i zobacz jak ładnie pasuje 5 stanow odpowiadajacych czytaniu danych z pieciu urzadzen oraz odpowiendi timeouty dla nich. Czy wszystko musi obijac sie o while i for zeby bylo petla ?
no dobrze z kodem CRC16 jakoś mi się udało mam teraz jednak znacznie większy problem i to znów z tłumaczeniem z c++ na delphi. następujący kod: // 3. Timeouts _COMMTIMEOUTS timeouts; timeouts.ReadIntervalTimeout= 400; timeouts.ReadTotalTimeoutMultiplier= 0; timeouts.ReadTotalTimeoutConstant= 500; timeouts.WriteTotalTimeoutMultiplier= 0; timeouts.WriteTotalTimeoutConstant=...
Witam. Mam prosty program napisany w C dla procesora PIC16LF88 i niemogę go skompilować. Używam kompilatora Cc5X. To moje pierwsze zetknięcie z picami i niewiem w czym tkwi problem. Kompilator zgłasza błąd: void main() { ^------ Error[1] D:\work\IQRF\p2p\P2P.c 24 : 'main' is not in codepage 0 (=E00H) (main() must reside in codepage 0. This can be done...
Inactivity TimeOut(mins) for startondata PPP Interfaces 1 Ignore WAN to LAN traffic while monitoring inactivity (nie zaznaczone) VPI 0 VCI 35 Mux Type LLC Max Proto per AA5L2 Protocol PPPoE Default RouteEnable Actual MTU 1432 Inactivity TimeOut Use Global Security protocolPAP Annex Mode ConfigAuto User Select Annex Mode ADSL2 Trellis Enable Handshake...
Czyli coś takiego: [syntax=csharp] private BinaryReader r = null; byte[] data = new byte[30]; . . . private void Odbieranie_DoWork(object sender, DoWorkEventArgs e) { //Thread.Sleep(500); byte rcv; while (true) { r.ReadByte(data,0,data.Length); } } [/syntax] ?
Witam W podglądzie zdarzeń powtarza się komunikat: Nie można znaleźć opisu dla identyfikatora zdarzenia ( 1 ) w źródle ( nview_info ). Być może komputer lokalny nie ma wymaganych informacji rejestru lub plików DLL potrzebnych do wyświetlania komunikatów z komputera zdalnego. Możesz użyć flagi /AUXSOURCE= do pobrania tego opisu; więcej informacji można...
Jestem troche zdziwiony implementacją softwareowych licznikow według opisywanych tu sposobów... Po co wykonywać zbędny kod w ISRrze (czyli load, wyifowanie, dekrementacja,store), i to jeszcze oddzielnie dla kazdej zmiennej "timer", tak jak tu: jednego globalnego licznika idącego sobie po prostu do przodu... jeden raz load, dekrementacja, store (bez...
ymodem.c Dodano po 59 w cmd_mode.h [syntax=text]int cmd_reboot(bootram_cmd_tbl_t* cmdtbl, int argc, char* argv[]); int cmd_version(bootram_cmd_tbl_t* cmdtbl, int argc, char* argv[]); int cmd_download_filecount(bootram_cmd_tbl_t... cmdtbl, int argc, char* argv[]); int cmd_download_baudrate(bootram_cmd_tbl_t* cmdtbl, int argc, char* argv[]); int cmd_download_startaddr(bootram_cmd_tbl_t...
Istnieje problem zaniżania pojemności kart SD. Tematów na ten temat jest sporo w działach zajmujących się PC tabletami telefonami, ale tutaj nie znalazłem Napotkałem taki problem i w gruncie rzeczy jestem blisko wyjaśnienia problemu. Wygląda na to że wszystko rozchodzi się o prawidłowy odczyt i prawidłowe przetworzenie "rejestru" CSD ma on 16 bajtów...
No i zgadza się, i2cTimeout jest zmienną 64-bitową. Ustawiłem to na wypadek jakby czujnik został odłączony, a program chodził dalej. Przy tego typu wartościach będziesz oczekiwał na timeout tydzień albo nawet dłużej. To może pomogę Ci z funkcją odczytu rejestru (wielu rejestrów). w funkcji ReadRegister mam ReadNACK, ponieważ czytam tylko jeden bajt?...
Witam chciałem wykorzystać DMA do odczytywania wartości z akcelerometru poprzez I2C. Na stronie ST udostępniono przykładowy kod wykorzystujący DMA. Poniżej udostępniam przykład funkcji wysyłania danych. No i niby wszystko rozumiem, oprócz jednej podstawowej rzeczy. W którym miejscu jest to niby szybsze niż zwykły transfer poprzez i2c, tzn. wysyłanie,...
Ogólnie nie powinno być takiego efektu przy obsłudze TWI (I2C). Ono ma działać i działa w odpowiednich warunkach niezawodnie. Najlepiej byłoby oczywiście obsługiwać TWI w przerwaniach. Wtedy uniknąłbyś pollingu (brak pętli czekających while). Możesz to obejść na około - zamiast while wstawić pętlę for z jakimś tam licznikiem timeoutu. Jeśli nie ustawi...
Witam, próbuje zaprogramować obsługę karty sd niestety program coocox "wisi" na funkcji wait_ready, a głebiej na rcvr_spi, gdzie szukać problemu w podłaczeniu ? [syntax=c] /*--------------------------------------... /* Wait for card ready */ /*--------------------------------------... static...
no przecież jest pętla while(1) :O właśnie chodzi o to, że jest warunek: if (timeout(sock) < 0) to wyświetlam komunikat itd i odczekuję 2s po czym znowu próbuję nadać pakiet, a jeśli ten warunek nie jest spełniony to dopiero wtedy zachodzi odbieranie rcvfrom hmm jeśli upłynie limit czasu to funkcja zwróci -1 (return -1;)
Dzięki. Zrobiłem na przerwaniach i działa. Wie ktoś może jak zrobić timeout funkcji odbierającej dane w przerwaniu? Próbowałem z pętlą while i dekrementacją licznika ale nie działa. [syntax=c]/* Funkcja odbierająca dane z USART */ unsigned char USART_Receive( void ) { /* Wait for data to be received */ while ( !(UCSRA & (1<<RXC)) ){}; /* Get...
Witam, Zaimplementowałem obsługę kart SD jak poniżej ale nie działają karty SD Kingstone 2GB. Karty 1GB działają. Zależy mi tylko na odczycie i zapisie sektora. Ma może ktoś sprawdzoną obsługę kart SD na mega128? //======================================... // Wyslanie komendy do karty SD //======================================...
Witam. Jestem nowy w tym temacie. Od jakiegoś czasu bawię się modułami rfm12B. Do wczoraj nie miałem kompletnie żadnych problemów z ich użytkowaniem. nawiązywałem transmisję jednokierunkową między dwoma układami. Obecnie próbuję zrobić potwierdzanie transmisji. Scenariusz jest następujący: Urządzenie A wysyła ramkę do urzadzenia -> B Urz B odbiera poprawnie...
No właśnie, co ona zwraca, a co zwracać powinna, zwraca dekrementowaną wartość zmiennej czas. Nie masz timeoutu? Nie wiem, o jaki timeout chodzi? Tak. Ustawione mam -Os Jeśli OSC.STATUS oraz OSC_XOSCRDY_bm dadzą wartość true to pętla While zostanie opuszczona, poczekamy 1ms po czym zwrócimy wartość zmiennej czas większą od zera czyli true. Jeśli zaś...
Mam nowy problem tamto juz naprawilem. Chodzi mi tu o to ze jak mam taki kod: #!/usr/bin/expect set timeout -1 spawn multimon-ng -c -a STQC while {1} { expect "123456" exec ./skrypt1 expect "7890" exec ./skrypt2 } I wszystko pięknie gra tylko ze działa to tak: Pokazują się liczby 123456 ok włącza się skrypt1 Pokazują się liczby 7890 też włącza się skrypt2...
w twi_rd nie chce mi przejsc przez petle while (!(TWCR & (1<<TWINT))); co to moze oznaczac ? Temat stary ale niejedna osoba ma taki problem. Pewnie masz status $F8. Dodano po 1 mi pomogło podciągnięcie portu PORTC=0xff; To proteza. Wewnętrzne pullup ma ok 47k a wymagane jest max 5. Widziałem przypadki, że IIC działa na 10k ale np w Arduino,...
To ja też dorzucę swoje uwagi: [syntax=c]gsm.println("AT+CPBR=1"); while (!gsm.available()){ delay(10);} [/syntax] Transmisja szeregowa po rs ma to do siebie, że przychodzi znak po znaku - nie ma czegoś takiego jak ramki itp. Przy prędkości 9600 przychodzi ok 1000 znaków na sekndę, przez 10ms przyjdzie max 10. Może się zdarzyć, że pierwsze kilka znaków...
dzięki za odpowidzi. Mam jeszcze jedno pytanie: Czy takie wywołanie jakoś obciąża kontroler: ClearTimeoutCounter(); // <---czy nie lepiej dać parametr tutaj? while (x) { if (TimeoutCounter(100)) break; // chodzi o parametr w funkcji } ////////////////////////////////////////... static int timeout=0;...
Cześć, potrzebuję na szybko wykorzystać moduł Wemos ESP8266 NodeMCU v3 wersja Lolin, kupiony ze dwa lata temu. Wyjątkowo chciałem zrobić to używając Arduino IDE. Wykorzystałem przykład dostępny w IDE, Próbowałem łączyć się z kilkoma moimi serwerami (ciągle error), a poniżej próba do Onet.pl: WiFi connected IP address: 192.168.1.13 connecting to onet.pl...
Plis, zanim zadasz pytanie to spojrz w google http://www.voip-info.org/wiki/view/Aster... [example_queue] music = default ; ktora klasa MOH strategy = ringall ; strategia obdzwaniania agentow context = queue-out ; Here we go when the caller presses a single digit, while in the queue timeout = 15 ; po ilu sekundach skacze na kolejnego...
https://obrazki.elektroda.pl/1808304600_... Na początku wyjaśnienie do tytułu – nie jest to typowy termometr, gdyż niczego nie mierzy lecz po prostu wyświetla temperaturę pobraną przez inne czujniki. Stwierdziłem jednak, że „wyświetlacz temperatury” brzmi dziwnie. Za to „do sypialni” ma swoje uzasadnienie,...
Witam. Mam taki kod, i chce zapisać dane odebrane po rs232 do pliku, bądź do tablicy i wyświetlić wszystko po zakończonej transmisji. [syntax=c]#include <stdio.h> #include <conio.h> #include <string.h> #include <iostream> #define STRICT #define WIN32_LEAN_AND_MEAN #include <windows.h> void system_error(char *name) { //...
http://obrazki.elektroda.pl/4301568800_1... Autor poniższej konstrukcji przedstawiał już podobny układ - miniaturowy zegarek oparty o ATtiny ( Krok 1: Przygotowania http://obrazki.elektroda.pl/4194769400_1... Mikrokontroler Układ oparty jest o mikrokontrolery AVR firmy Atmel ATtiny85. Autor wykorzystał element w obudowie...
Wg mnie, w tej funkcji write , szczególnie dziwny, na pierwszy rzut oka jest ten fragment ee93_cs_h; while(bit_is_clear(ee93_pin,ee93... { loop++; if(loop == 200000) return 0; } ee93_cs_l; ta funkcja może się bardzo różnie zachowywać gdy bedzie działać np na procku z taktowaniem 1MHz albo na procku z taktowaniem...
Hejka, aktualnie sprawa wyglada tak : Udało mi się w przegladarce uzyskać dowlny napis. Używam programu "ESP8266 Config" po połączeniu się z modułem w serial monitor wpisuję takie ustawienia : AT+CIPMUX=1 AT+CIPSERVER=1,80 Teraz wchodzimy w przeglądarkę wpisujemy adres IP : u mnie : 192.168.4.1 i wciskamy enter. W serial monitorze informuje nas ze jest...
Różne modele, np teraz [url=https://www.tme.eu/pl/details/rvt70... [url=https://www.tme.eu/pl/details/rvt70... Biblioteka, której używam: https://github.com/RudolphRiedel/FT800-F... Parametry inicjalizacji: [syntax=c] #define EVE_HSIZE(800L)/* Thd Length...
while atmel petla while winavr while
volvo silnika śrubki braun radzieckie schematy
Prostownik do akumulatora: jakie parametry wybrać? Instrukcja do ABM 338 - gdzie szukać?