Skocz do zawartości

Ingemar

Użytkownicy
  • Zawartość

    10
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

Osiągnięcia użytkownika Ingemar

Odkrywca

Odkrywca (4/19)

  • Za 5 postów
  • Młodszy Juror
  • To już rok!
  • To już 5 lat!

Odznaki

0

Reputacja

  1. @Intre możesz podłączyć tranzystor do jednego z gpio by działał jak zworka. Czas bycia w bootloaderze jak najbardziej można ustawić - tu jest nieźle opisane jak samemu stworzyć bootloader http://tomaszpluta.aq.pl/bootloader_stm32.html , na podstawie tego opisu dołożenie timeoutu nie powinno być problemem.
  2. Bardzo prosiłbym o wskazanie mi, czy ten kod jest przystosowany do plytki lpcexpresso i wymaga kwarcu, czy bedzie dzialal tez na "golym" procesorze? Jesli sa potrzebne jakies zmiany to prosze napisac jakie.
  3. Witam. Mam problem ze stwierdzeniem co jest nie tak - zadnej reakcji na wgranie pliku hex do lpc1114 za pomoca domyslnego bootloadera. Kupilem LPC1114, poludotowalem na adapterze smd/dip, komunikacja z procesorem jest ok, bo program FlashMagic prawidlowo odczytuje sygnaturę procesora. Wgrywam skompilowanego hexa z bardzo prostym programem (np led blinking, albo nawet zwykle ustawienei portow w stan wysoki) i nie ma zadnej reakcji, dioda podlaczona do portu nie swieci. Kompiluje za pomoca LPCXpresso v7.4.0 [build 229] [2014-09-16] Prosilbym wiec o podeslanie mi prawidlo skompilowanego pliku hex i napisanie jakiej reakcji mam sie spodziewac. W ten sposob sprawdze czy to wina kompilacji czy np. fizycznego defektu na plytce. Po wgraniu programu oczywiscie resetuje procesor zeby wyjsc z trybu bootloadera (oczywiscie juz bez podawanai masy na p.0.1)
  4. A pochwale się 😉 Poćwiczyłem trochę w praktyce te struktury i jak na moje oko to całkiem skomplikowane już potrafię pisać, np.: struct Obiekt oHistereza = { .nastaw = InitObiekt(&oHistereza), .wartoscPoczatkowa = 02, .oSymbol1 = 0xFF, .oSymbol2 = LKW, .adres_eeprom = 201, }; gdzie InitObiekt : unsigned char InitObiekt (struct Obiekt *wsk ) { unsigned int Tmp; Tmp = OdczytZEpromu(wsk ->adres_eeprom); if (Tmp !=0xFF) return Tmp; else return wsk -> wartoscPoczatkowa; } Nie jest to strukturowy Mont Everest, ale: - wykorzystałem w strukturze funkcję do wypełnienia jednego z jej pól - użyłem innego pola jako argumentu do tej funkcji - spełnia swoją funkcje w pseudo sterowniku do pieca który piszę i na bieżąco testuje. Jak dla mnie już coś 😉 Dla potomnych podrzucę jeszcze linki - http://pl.wikibooks.org/wiki/C/Typy_z%C5%82o%C5%BCone http://pl.wikibooks.org/wiki/C/Wska%C5%BAniki_-_wi%C4%99cej#Wska.C5.BAniki_na_funkcje
  5. masz na myśli http://subversion.apache.org/ i http://git-scm.com/ ? to raczej kody do programów na kompa, a ja pytam raczje o typowo mikrokontrolerowe zastosowanie (sterowniki, roboty, systemy pomiarowe). Tutaj http://www.cprogramming.com/tutorial/c/lesson7.html wyczytałem, że funkcja moze zwracać strukturę. Mógłby ktoś to rozwinąć?
  6. Z tego co wyczytałem tu: http://students.cs.byu.edu/~cs124ta/references/HowTos/HowTo_Structs.html to struktury dają tą przewagę nad zwykłymi zmiennymi, że "za jednym zamachem" można na raz skopiować (przypisać) duzą ilość danych (całą strukturę). Na pewno jest to łatwiej niż kopiować pojedynczo kilkanascie zmiennych. typedef struct { char name[namesize]; char address[addresssize]; int YearOfBirth; int MonthOfBirth; int DayOfBirth; } PersonalData; then declare: PersonalData x; struct Personal x,y; x = y; Tylko dlaczego "PersonalData" zostało wpisane po zamknięciu nawiasu }, a nie zaraz po "typedef struct"? Jaka jest różnica?
  7. Mam nadzieję, że tłumaczenie podstaw nie jest dla Was irytujące i pozwolę sobię na kolejne pytania. I to wydaje się bardzo użyteczne. A jak to zrobiłeś?
  8. I to jest to samo jak zadeklarowałem zaraz za strukturą "stanowisko"? Druga rzecz - poniższe zapisy są równoważne? pomiar a = { 30, 57, 12, } pomiar a; a.temp = 30; a.wilg = 57; a.czasPomiaru =12, Ok, tylko teraz jaką przewagę ma struktura nad samymi zmiennymi? W czym mogę wykorzystać to, że zamiast "temperatura" będę pisał "a.temperatura"? A jeśli chcę pogrupować dane, to mogę wykorzystać tablice, np: stanowisko1[] ={30,57,12} stanowisko2[]= {35, 51, 12} stanowisko3[]={40, 60, 12} stanowisko4[]={29, 55,8} Może ktoś podrzuciłby kawałek kodu w którym wykorzystuje struktury?
  9. Witam. Wiem co to są struktury, w internecie można znaleźć dużo informacji na ten temat, jednak odnoszę wrażenie, że istnieje pewna luka informacyjna. Można znaleźć albo podstawowe informację co to jest struktura, albo wiadomości dla zaawansowanych, w stylu "jak ich używać, żeby zajmowały mało miejsca w pamięci". Nigdzie jednak nie spotkałem się z tym, żeby ktoś pokazywał gdzie się mogą one przydać, gdzie ułatwiają życie, a gdzie są wręcz konieczne. Bardzo prosiłbym więc, żeby ktoś na jakimś prostym przykładzie pokazał mi co mogę z taką strukturą zrobić i w jaki sposób może ona ułatwić życie. Powiedzmy, że mam strukturę która opisuje np jakieś ustawienia maszyny: struct ustawienia{ char osY; char osZ; int czasPracy; } element; Co z tym mogę zrobić? Albo w drugą stronę, mam strukturę która coś by przechowywała, np: struct pomiar{ char temp; char wilg; int czasPomiaru; } stanowisko; Jak do niej zapisywać?
  10. Moim zdaniem książka jest dobra do nauki kilku konkretnych rzeczy - zamigania diodą, obsługi wyświetlacza 7/8 segmentowego albo jako właśnie totalne wprowadzenie . I jako ta druga opcja nie jest zła, ale sama książka to za mało, autor bardzo wybiórczo pokazuje możliwości avr, wprowadzenie do języków tez jest bardzo oszczędne (zaledwie po kilka nowych poleceń na dany przykład). Dobrym zestawem natomiast jest ta książka i kurs C ze strony forbot. Książka baaardzo łagodnie wprowadza we wszystkie zagadnienia (wręcz łopatologiczne schematy), a wiedzę z każdego rozdziału warto na bieżąco poszerzać. I taka nauka ma sens dla osób, które nawet w elektronice się słąbo orientują. Plusem tu będzie także formuła książki, bardzo łagodnie przechodzi od kompletnych podstaw do coraz bardziej skomplikowanych rzeczy, naprawdę stopniowanie poziomu trudności jest bardzo dobre. I jeszcze jeden plus dla kompletnie zielonych - dobrze opisano komilatory i programatory (także z programatorami fusebitów) dla wszystkich języków. Też tego nie rozumiem. Gdyby całą ksiązkę poświęcić 8-bitowcom i to tylko w dwóch językach (asembler i C) to można by się napradę solidnie nauczyć podstaw, niemal w każdym szczególe, dodatkowo wiedząc "co i jak i skąd się wzięło" (dzięki porównaniom do asemblera). Pomysł z ARM jest faktycznie nietrafiony, po przerobieniu pierwszej części wiemy za mało, żeby siadać do 32-bitowców. Obecnie kosztuje coś koło tego (chyba dałem 60 zł za nią w lokalnej księgarni). Wszystkei specjalistyczne książki są na początku bardzo drogie (proszę porównać Biblia EXCELL 20XX w dniu premiery i po roku - ceny spadają niemal o połowe). Z całej popularnej trójki (Borkowski, Francuz, Kardaś) jeszcze nie czytałem tej ostatniej, ale jeśli miałbym wybrać jeszcze raz to zdecydowanie wolałbym zacząć od Borkowskiego niż od Franzuca, mimo, że ten drugi na początku bardzo dobrze omawia język C. Przykłady w książce Tomasza Francuza są jakby oderwane od tego co było omawiane w danym rozdziale, słabo opisane, i początkującemu trudne do pojęcia. Niemniej jako rozszerzenie wiedzy jest b. dobra (m.in szeroko opisane interface'y i bootloader). A tak w ogóle to witam wszystkich. BTW, kurs C z tego portalu jest naprawdę dobrze napisany, z przyjemnością kupiłbym go gdyby jako książkę.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.