Jaki sens ma funkcja, która zawsze zwraca tę samą wartość? Równie "obiektowe", co bezsensowne. Taki pomysł na funkcję miał autor tematu. Nie wnikam w sensowność tego rozwiązania. Naprawdę, masz dziwne rozumienie obiektowości.
No właśnie, ten + na masie w centralach (lub jak kto woli zasilanie -48V) zawsze zwiększał moją uwagę. Co ciekawe ten schemat zasilania przetrwał i radiolinie na pasma licencjonowane nadal mają + zasilania połączony z obudową. Siłownie DC, ale też mniejsze zasilacze z akumulatorami a nawet UPSy i stringi akumulatorów VRLA też zwiększały moją czujność,...
strasznie żeś nakombinował ja wysyłam tak stringi void USART_Transmit_string( char *text ) { while(*text) USART_Transmit(*text++); } void USART_Transmit( unsigned char data ) { /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ); /* Put data into buffer,...
Funkcja hextoul przyjmuje stringi które powinny być zakończone zerem. A u ciebie wartosc1 ma tylko dwa bajty na wartość. Anomalie też są jeśli chce przesłać czas włączenia urządzenia w formacie hh;mm;ss Może ramu za mało. Na dodatek, jeśli wysyłasz w funkcji main oraz przerwaniu, to jeśli funkcja wysyłająca nie jest atomowa, to będziesz miał sieczke...
Jest to przejściówka "Konwerter CP2102 Niestety nie mam takiej pod ręką to nie obadam jaki ma pull up. Próbowałem z DATA rezystor 480ohm do 3.3V ale nie działało. To według mnie zdecydowanie zbyt niska oporność, jak na obciążenie fototranzystora w transoptorze. Spróbuj coś koło 4,7 - 15kΩ. Od biedy można by spróbować uruchomić wewnętrzny pull...
Co do pierwszego kodu, prawdopodobnie uart działa zbyt wolno - błąd jest tutaj: UCSRC = _BV(UCSZ0) | _BV(UCSZ1); //--- ustawienie ramki, kolejno: długosc slowa - 8bitów UCSRC |= _BV(USBS); //--- ilosc bitów stop - 2 UCSRC |= _BV(URSEL); //--- zapis/odczyt danych z/do UCSRC Nie ma dowolności kiedy co ustawić, ustawiać...
Czy jakbym zrobił to w ten sposób, miałoby to sens? Nie ma sensu! Czemu służy "delay(3);"? Para ma iść w gwizdek? W ten sposób to nie wiadomo jak szybki będzie uC, delay "zabije" jego prędkość. Zmienna (tablica) "readString " ma jakiś rozmiar, tajemnicą jest jaki, ale większość Arduino ma 2kB (2048) RAM. Stos (ok20 bajtów zależnie od skomplikowania...
tylko 15 znaków dokładnie 14, null dodaję na końcu tablicy (miały być operacje na stringach, ale może się ogarnę bez tego) to LCD od nokii 3310 na pcd8544 chciałem "na szybko" zrobić konsolę do usart, bo nie mam drugiego usart do wyświetlania tego co biega po pierwszym, a przesiadanie się na xmega nie ma sensu...
Nie wiem co tam namieszałeś ale ja bym trochę zmienił odbieranie ciągów. Coś w ten deseń: SIGNAL (SIG_UART_RECV) { if ( (odebranyZnak!='\r') && (odebranyZnak!='\n') ) { slowo[i++]=odebranyZnak; } else { slowo[i]='\0'; i=0;// zakończenie słowa - dodanie znaku końca stringa **ANALIZA...
Chodzi o wyświetlanie Stringów przez USART? To na czas testów tylko. Jakiś pomysł?
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...
ja mam tak, zawsze działało bez problemów: int USART_Transmit( unsigned char data ) { while ( !( UCSRA & (1<<UDRE)) ); UDR = data; return 0; } void USART_PutS (char *text) { while (*text) USART_Transmit(*text++); }
Czy LabView pozwala na wysyłanie 1 bajtowych zmiennych to nie wiem, więc pozostaje odczyt stringów. Najprostszy jest oczywiście [url=https://github.com/jnk0le/Easy-AVR-... Można także zastosować coś takiego [syntax=c]int16_t uart_getint(void) { char buff[32]; uart_gets(buff, 32); return...
A czy wiesz ile czasu ten Twój program może siedzieć w przerwaniu? Wygląda mocno nieoptymalnie to przeszukiwanie całego bufora. A to, że kod działa bez przerwań nie oznacza, że musi działać bez większych modyfikacji z przerwaniami. Możesz spróbować składać stringi w taki sposób jak podałem wcześniej, czyli zacząć od początku z innym podejściem, bo jak...
No teorię to ja mniej więcej znam... tylko jak to zamienić na kod. Coś takiego? #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #include <avr/signal.h> ///////////////////// USART////////////////////////// #define FOSC 16000000// Clock Speed #define BAUD 4800 #define MYUBRR FOSC/16/BAUD-1 ////////////////////////////////////////...
Witam wszystkich Chciałbym się poradzić ponieważ mam problem z komunikacją USART. W czasie wysyłania stringów do terminala komputer się resetuje, pojawia się blue screen oraz komunikat problem z multiple_irp_complete_request. Sytuacja powstaje tylko w przypadku gdy komunikuję się poprzez przejściówkę USB-USART, gdy korzystam z modułu bluetooth wszystko...
USART2 śmiga na 256kb. StringIndex jest zerowany w pętli głównej po skopiowaniu zawartości Stringnew do innej tablicy. Nigdzie indziej nie ma odwołania do StringIndex... A dlaczego USART2 nie może nadawać i innym momencie? Co prawna nie nadaje, jest tylko to, co widać na terminalu.
Z przetwonika ADC otrzymuję wartość 16 bitową (ADC1->DR), którą chce następnie wyświetlić na wyświetlaczu. Funkcja wypisująca stringi na LCD pobiera wskaźnik do tablicy, ciagu znaków void Text (uint8_t *str) Wywołanie: Text ("dowolny tekst"); Potrzebuje w jakiś sposób przekonwertować typ 16-sto bitowy do tablicy znaków które...
Flaga w przerwaniu dubluje istniejącą flagę w rejestrze statusu USART, stąd też jest zupełnie niepotrzebna. Pytałem nie o sposób zadeklarowania tablicy, bo to widzę, tylko o sposób zadeklarowania typu byte - czy gwarantuje, że element tablicy będzie 8-bitowy? Bo szczególnie w językach typu C# bym się spodziewał, że kompilator to przerobi tak jak wygodniej...
Przyjrzałem się funkcji "strtok2()" i wniosek mam taki, Bardzo Ci dziękuję za zaangażowanie w moim temacie. Oczywiście jetem wdzięczny każdemu za każdą odpowiedź. Wczoraj do późnej godziny pracowałem nad tym programem, napisałem bardzo dużo kodu od początku, nie patrząc wcale wstecz na to co i jak pierwotnie wykonałem. Oto część kodu, który tworzę....
Spróbuj wyświetlić tekst polecenia przed porównaniem go z tablicą nazw poleceń. Niestety, ale właśnie to robię i to nawet w kodzie który zamieściłem fprintf wysyła tekst na jeden z dwóch portów USART z których korzystam. Tekst wyświetla się właściwie, a tablica nie zwraca indeksu czyli strcmp_P nigdy nie jest 0. W samej pętli z porównaniem też wyświetlałem...
Zrobiłem to bez przerwań. Program może nie działa idealnie (mam problemy z odbiorem znaków - jutro na tym się skupię), ale udaje mi się wysyłać at komendy do modułu (np. zmienić nazwę modułu, czy pin) oraz przesyłać stringi przez bluetooth na laptopa. Poniżej funkcja wysyłająca i odbierająca pojedynczy znak (w tym wypadku zrezygnowałem z bibliotek ST...
Witam, Zmontowalem sobie zabawke w postaci atmega162, 2 porty usart i lcd. Chwilowo dziala to w takiej konfiguracji ze z terminala podlaczonego przez ustart0 wydaje komende ktora jest przekazywana na usart1 do telefonu komorkowego a wynik jej wykonania ma sie wystwietlic na lcd. Oczywiscie predkosci wszystkie sa ustawione OK, F_CPU tez, 9600 dla COM...
Czy się da? pewnie tak, natomiast jeżeli UPS pozwala na podłączenie i skonfigurowanie 1 EBM to nie będzie "wiedział" o tym że są 2 EBM i np. źle będzie pokazywał przewidywany czas pracy, ładowarka będzie dłużej ładowała stringi akumulatorów, chłodzenie UPS może być problem przy wydłużonej pracy ładowarki/falownika, jest też szansa że może pojawić się...
Może dlatego, że niewiedzieć czemu po wysłaniu komendy czekasz na odebranie kolejnego znaku i go usuwasz odczytując UDR (dummy=UDR). Kolejna sprawa - te strcmp jest bez sensu, sprawdzać powinieneś dopiero po odebraniu danych. Ew. trzebaby zamazywać cały bufor, bo tak jak to masz zrobione przy odbiorze kolejnych komend bufor jest mixem nowych i starych...
Nie widzę sensu w używaniu stringów wstawiając w nie 0. Dużo funkcji, np printf, bazuje na tym, że na końcu stringa napotka na 0. Podobne rzeczy spotkasz chociażby bibliotece radzia do hd44780 czy jakiejkolwiek innej operującej na stringach. Coś a la: [syntax=c]void usart_send(char *data) { while(*data) LCD->DR = *data++; } ... int main() { ... usart_send("ala...
tplewa , czyli param to jest tablica stringów tak? czyli muszę utworzyć tablicę: string param for(int i=20; i<30;i++){ param[0]=bufor_uart1[i]; } ? krru , a jak mam ladowac znaki dopiero po danej sekwencji? przeciez muszę je pierw gdzieś zapisać tak jak to robilem do bufora, aby później na nich operować. Nie wiem...
Czemu nie działa jakieś błedy kompilatora, jak nie tak to może źle napisany kod i się przy większej optymalizacji wysypuje. Jak coś to wrzuć kod nie działający. Heh, no ok, wrzucam więc kod. Od razu jednak uprzedzam, że to jest mój pierwszy program w C i mogą występować rażące programistów błędy. Poza tym kod jest nieco rozlazły - dla mnie bardziej...
Mój problem polega na tym, że muszę z kilku czujników wysyłać dane do aplikacji napisanej w C#. Temperatura z czujnika DS18B20, oraz wilgotność i temperatura z czujnika SHT11. Dane te chcę wysłać UARTem, jednak narazie próbuję wysyłać zmienne float na sztywno. Tak więc konwertuję sobie funkcją dtostrf na string i tak chcę wysyłać do aplikacji C#. Najpierw...
Funkcja czekająca na odpowiedź z modemu powinna czekać skonczony czas na oczekiwany string, przy czym jest bardzo ważne to, aby oczekiwany string zawierał ostatnie znaki z całego stringu odpowiedzi modemu. W Twoim przykładzie gdy modem odpowiada: CMGS: 59 OK To modem tak naprawde wysyła znaki: CMGS: 59\r\n\r\nOK\r\n Funkcja czekająca na odpowiedź w...
Nie wiem o co Ci chodzi. Piszemy o VT100 lub emulacji VT100 nie o Windows. Jaki windows? Człowieku, rozumiesz co to kodowanie znaków? Jeżeli putty emuluje poprawnie VT100 to powinien wyświetlać znaki tak jak to było w VT100. Jezeli putty robi to inaczej to znaczy, że nie emuluje poprawnie VT100. Rozumiesz pytanie autora? Pyta się dlaczego nie wyświetlają...
Udało mi się odpalić program na prędkości 312500 bodów (koleje dane z RSA przychodzą co 32us) , ale nie jest to granica możliwości: Mam taki kod: [syntax=c]#include <avr/io.h> #include "stdlib.h" #define LCD_RS PB4 #define SD_CSET 0x15 // column address setting #define SD_PSET 0x75 // page address setting #define LCD_CS PB0 #define RAMWR 0x5C...
No poczytałem sobie o przerwaniach dokładniej, jednak nadal nie widze rozwiązania mojego problemu. Program tak jakby gubi znaki, albo pętla while nie kończy się gdy kończy się ciąg (poniżej przykładowa próba komunikacji, korzystałem z Herculesa, znacznikiem [b]123456[/b][b]...
proszę o pomoc w takiej sprawie wysyłam liczby , lub stringi z jednego procka do drugiego drugi jest podłączony do terminala w komputerze , chcę spowodować żeby to co wysłał pierwszy procek odebrał ten drugi i to samo wysłał do terminala. Problem jest w tym, że jak odbieram znak w przerwaniu i zaraz wysyłam go jako echo to jest dobrze, ale jak zrobię...
Witam, Przeczytałem wiele stron z podobną tematyką, próbowałem wielu różnych algorytmów, jednak nie udało mi się osiągnąć tego co chciałem. Założenie: Komunikacja aplikacji napisanej w visual c++ 2010 express z atmega16/32. 1. Wysyłka 5 liczb z komputera: (parametr1, parametr2, parametr3, parametr4, parametr5) na atmegę. Sprawa wydawałoby się prosta,...
Witam, mam problem który wymieniłem w temacie. Nie mogę "zmusić" mojej Atmegi by wysyłała dane do komputera. W układzie zamontowana jest Atmega328P, układ FT232RL oraz dwie diody sygnalizujące transmisję. Gdy wysyłam coś z komputera do układu, to widać, że dane przechodzą bo świeci się odpowiednia dioda (czerwona). Korzystając ze strony http://hekilledmywire.wordpress.com/2011...
Z punktu widzenia przeglądarki plik *.js może być nawet plikiem tekstowym (zmień rozszerzenie na *.txt i w HTML i w samym pliku - też będzie działać. To, że to działa zależy od pogrubionej poniżej części wpisu, a nie od "src": <script src="scripts.js" type="application/javascript"></sc... A nie jest czasem dokładnie odwrotnie? To znaczy...
Sorki, ze moze tak troche offtopic pytanie jeszcze zadam, ale dlaczego funkcja sizeof() w mojej funkcji zwracala mi zawsze wartosc 3, natomiast w funkcji main dzialala normalnie?? Potrafi ktos mi to wytlumaczyc ? A to akurat bardzo proste jest ;) Do swojej funkcji przekazujesz zmienną char text A najlepiej całość w przerwaniach zrobić. Byłbyś tak miły...
Przy załączeniu napięcia atmedze na wyświetlaczu zamiast oczekiwanego napisu pojawiają się randomowe śmieci. Przy zwyczajnym resecie wszystko jest ok. Z resztą najlepie to widać na filmiku: //MAIN--MAIN--MAIN--MAIN--MAIN--MAIN--MA... portSHORT main(void) { //Inicjalizacja...
Poczekaj jeszcze chwilę - postanowiłęm zrobić coś takiego - kod z książki Mirka Kardasia mi działa, więc jego biblioteki wrzucę do kodu rfm'a i zobaczymy - to już musi działać ;-) Aha i wiesz może czy da się sprawdzić czy rfm 12 wysyła dane ( może jakaś nóżka na ten czas jest w stanie wysokim ?) Dodano po 25 KOD który działa ( wysyła na konsolę tylko...
Witam, Do komunikacji z DHT11 używam od zawsze kodu Program Memory Usage :7712 bytes 94,1 % Full Data Memory Usage :127 bytes 12,4 % Full EEPROM Memory Usage :478 bytes 93,4 % Full EEprom i częściowo flash są zapełnione stringami używanymi w komunikacji z userem przez USART. Ponieważ nic sensownego nie przychodzi mi do głowy, zastanawiam...
Witam. Właśnie staram się zrobić mysz komputerową na atmedze 32 za pomocą biblioteki V-USB. Program testowałem na płytce rozwojowej z kwarcem 16MHz, atmegą 32 i wszystko działało. Po przeniesieniu się na moją płytkę z kwarcem 12MHz i przekopiowaniu kodu, na wyjściach D+ i D- mikrokontrolera nic się nie pojawia, D- stan wysoki, D+ niski. Oczywiście zmieniłem...
stringi usart arduino stringi stringi chara
prądnica pierścieniowa honda civic termostat vectra błędy komputera
laptop gamingowy laptop gamingowy
Rozrusznik nie kręci na gorącym silniku benzynowym Zabezpieczenie nad pedałami w Renault Clio 2013