Nareszcie ktoś się za to wziął
Inicjatywę popieram jak również słowa Adama o bibliotekach ... o tym żeby wcale ich nie używać lub w najmniejszym możliwym/koniecznym stopniu. Mam niewielkie doświadczenie w tym i chciałbym pociągnać dalej myśl Adama bo uważam że to najważniejszy aspekt całego przedsięwzięcia. Jaki program i na jakim systemie operacyjnym to będzie hulało to sprawa drugorzędna.
Sam używam bibliotek bo po prostu uczyłem się ze źródła wiedzy "skażonego" przez autora bibliotekami ( kupiłem kiedyś zestaw uruchomieniowy i książkę dedykowana do tego zestawu ... wraz ze spora kolekcją przykładów ).
Zauważyłem jednak to co Adam. Funkcje w bibliotekach są podobno po to żeby pomóc. Ale "rozkminiając" jak działają te funkcje to włos się jeży.
Ten sam skutek można osiągnąć na dwa sposoby:
1. poprzez zmianę wartości jednego rejestru ... czyli jedna linijka kodu w C lub ASM
lub
2. wypełnić/zmienić wartości w funkcji biblioteki zajmującej często po 5, 6, 7, nieraz więcej linijek i potem wywołać tę funkcję ... to dodatkowa linijka kodu.
Ciągle w tym co robię też mam "bibliotekowe kody" ale to co mnie najbardziej drażniło pozamieniałem już na ludzki kod.
O ile nic nie pokręciłem przedstawia sie to tak - jeden i drugi kod robi to samo (to ze starego przykładu i może być niewielka różnica ale nie o to chodzi tylko o to aby naświetlić wam jaka jest różnica w kodzie "bibliotecznym" i "normalnym" ).
przykład bibliotekowy :
przykład normalny
Tak więc jeśli "nauczyciel" poprowadzi Nas za ręke bez bibliotek to będzie mógł być dumny ze swoich wysiłków a my będziemy szczęśliwi że mamy ludzko przedstawiona wiedzę ... no i takiego nauczyciela oczywiscie
Z niecierpliwością czekam na rozwój sytuacji.
Inicjatywę popieram jak również słowa Adama o bibliotekach ... o tym żeby wcale ich nie używać lub w najmniejszym możliwym/koniecznym stopniu. Mam niewielkie doświadczenie w tym i chciałbym pociągnać dalej myśl Adama bo uważam że to najważniejszy aspekt całego przedsięwzięcia. Jaki program i na jakim systemie operacyjnym to będzie hulało to sprawa drugorzędna.
Sam używam bibliotek bo po prostu uczyłem się ze źródła wiedzy "skażonego" przez autora bibliotekami ( kupiłem kiedyś zestaw uruchomieniowy i książkę dedykowana do tego zestawu ... wraz ze spora kolekcją przykładów ).
Zauważyłem jednak to co Adam. Funkcje w bibliotekach są podobno po to żeby pomóc. Ale "rozkminiając" jak działają te funkcje to włos się jeży.
Ten sam skutek można osiągnąć na dwa sposoby:
1. poprzez zmianę wartości jednego rejestru ... czyli jedna linijka kodu w C lub ASM
lub
2. wypełnić/zmienić wartości w funkcji biblioteki zajmującej często po 5, 6, 7, nieraz więcej linijek i potem wywołać tę funkcję ... to dodatkowa linijka kodu.
Ciągle w tym co robię też mam "bibliotekowe kody" ale to co mnie najbardziej drażniło pozamieniałem już na ludzki kod.
O ile nic nie pokręciłem przedstawia sie to tak - jeden i drugi kod robi to samo (to ze starego przykładu i może być niewielka różnica ale nie o to chodzi tylko o to aby naświetlić wam jaka jest różnica w kodzie "bibliotecznym" i "normalnym" ).
przykład bibliotekowy :
Kod:
SPI_InitTypeDef SPI_InitStructure;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //tryb pracy SPI
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //transmisja z wykorzystaniem jednej linii, transmisja jednokierunkowa
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //16-bit ramka danych
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //stan sygnalu taktujacego przy braku transmisji - niski
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //aktywne zbocze sygnalu taktujacego - 1-sze zbocze
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //sprzetowa obsluga linii NSS (CS)
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_32;//prescaler szybkosci tansmisji 36MHz/256=140.625kHz
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //pierwszy bit w danych najbardziej znaczacy
SPI_Init(SPI2, &SPI_InitStructure); //inicjalizacja SPI
SPI_Cmd(SPI2, ENABLE); // Wlacz SPIKod:
SPI2->CR1 = SPI_CR1_MSTR | SPI_CR1_BR_0 | SPI_CR1_SSM | SPI_CR1_SSI;
SPI2->CR1 |= SPI_CR1_SPE;
Z niecierpliwością czekam na rozwój sytuacji.

