Nie znam tej biblioteki, pół minuty temu pobrałem jej źródła, ale z tego co patrzę, to struktura FILINFO zadeklarowana jakoś tak: [syntax=C]// FatFS R0.08b, ff.h typedef struct { DWORDfsize; /* File size */ WORDfdate; /* Last modified date */ WORDftime; /* Last modified time */ BYTEfattrib; /* Attribute */ TCHARfname[13]; /* Short file name (8.3 format)...
Dobry wieczór Sam zaczynam z armami i nie bardzo wiem, czy wypada abym coś radził ? W każdym razie moja walka z RTC skończyła się na programowaniu rejestrów, bo z HALem do ładu dojść nie mogłem. Co prawda procesor nie ten (STM32F091RCT6), ale może RTC to samo. Inicjalizacja RTC : [syntax=c] int InitZegarRTCWithLSE() { uint32_t LoopGuard; /* GPIO_InitTypeDef...
Moze trochę nie w temacje, ale kolega Kaczor90 prosił o proste rozwiązanie dla debouncingu, a tu co niektórzy chyba popsują się swoimi umiejętnościami programistycznymi, przekombinowywując jak się tylko da. Prosty przykład obsługi przycisków z uwzględnieniem z możliwością określenia mininalnego czasu wciśnięcia przycisku: [syntax=c] #define BUTTON_DEBOUNCE_TIME...
No cóż bez płytki i proca nic chyba już nie wymyśle. Gdy dochodzę do takiej ściany, to zaczynam porównywać rejestry w debug'u na HALu do tego na rejestrach. Dodano po 6 Tak sobie wymyślili Musisz tam wpisywać do AFR[1]. W pliku jest to dokładnie rozpisane [syntax=c] /** * (at)brief General Purpose I/O */ typedef struct { __IO uint32_t MODER; /*!<...
Nigdzie nie pisalem o podpowiadaniu nazw. Po drugie to o czym piszesz mozna bez problemu osiagnac przez "forward declaration" struktury w pliku h. Typedef absolutnie nic nie daje w tym przypadku. Plik h: [syntax=c] struct awesome_driver; struct awesome_driver* adrv_init(int id); /*.....*/ [/syntax] Plik c: [syntax=c] #include "awesome_driver.h" struct...
Dzień dobry, od dłuższego czasu próbuję wykonać projekt sterowania Transceivera RF CC120 firmy Texas Instruments za pomocą mikrokontrolera STM32F100RBT6B, który jest na płytce uruchomieniowej STM32VLDISCOVERY. Mam już napisaną część kodu, jednak nie jestem pewien czy SPI jest faktycznie poprawnie uruchomione oraz (i tu prośba do kogoś, kto się orientuje...
Próbuję skompilować przykład obsługi USB HID od Keil'a przy pomocy kompilatora gcc. Stąd pobrałem kod - http://www.keil.com/download/docs/361.as... Problem polega na tym, że najwidoczniej w gcc inaczej deklaruje się struktury i unie niż w Keil'u przez co przy próbie kompilacji otrzymuje masę błędów: expected '=', ',', ';', 'asm' or '__attribute__' before...
Cześć jakiś czas temu spotkałem się z takim zapisem mapowania rejestrów: C gives no guarantee of the ordering of fields within machine words , więc może być problem z portowaniem. Nie mam zamiaru "wynajdywać koła na nowo" tak pytam się z ciekawości o wasze opinie. Ewentualnie tak myślę że dałoby rade to zrobić też w C++ z template w taki sposób żeby...
Witam Na wstępie środowisko środowisko na bazie tutorialu Freddie Chopin-a , z dołączonym "STM32F10x_StdPeriph_Lib_V3.5.0" Płytka bazowa ZL27 Kamami. Kompilator CodeBench Lite for ARM EABI Praca bez systemu operacyjnego (na ARM) Problem jest następujący. Chciałem uzyskać możliwość pełnego wysyłania danych przy pomocy Printf na wiecej niż standardowe...
Witam Mam dosyć spory problem z parsowaniem tekstu, mianowicie użytkownik może w terminalu wpisać sobie taką o to składnie. Silnik 3,5;Silnik 5,25;Silnika 7,45; Ma to podzielić na "Silnik 3,5" , "Silnika 5,25" itp; Robię to w następujący sposób: -gdy z USARTa przychodzi ciąg znaków zakończonych znakiem '\0' wychodzi do przerwania gdzie tworzona jest...
Czy może mi ktoś podpowiedzieć o co chodzi? Wczoraj w Eclipsie robiłem testy, i nagle dzisiaj już to nie chodzi. Nie zmieniałem nic, uruchomiłem po prostu od nowa Eclipsa. Problem dotyczy zmiennych zadeklarowanych w przerwaniu void USB_LP_CAN1_RX0_IRQHandler (void) { DWORD istr, num, val;....} Które po przypisaniu po chwili znikają i mają wartość optimized...
Dzięki :) - właśnie tak wywnioskowałem z pliku *.h i napisałem coś takiego - chyba działa. Dziwi mnie tylko brak konsekwencji w nazewnictwie. Dodano po 1 Dalsze problemy: Nie potrafię nic zapisać do skonfigurowanej pamięci (LCD). Kontroler LCD nie jest fizycznie podpięty ale to chyba nie ma znaczenia. Podejrzewam,że należy załączyć stosowny bank pamięci...
Napisałem program obsługujący komunikację RS232 dla płytki STM32 P103: - dokumentacja płytki https://www.olimex.com/dev/pdf/ARM/ST/ST... - schemat https://www.olimex.com/dev/images/ARM/ST... Niestety łącząc docelowo przez konwerter RS232 -> RS485 i podłączając do serwomechanizmu RS28 dynamixel podłączyłem raz zasilanie 15V,...
Mało przykładów w sieci z CANem. Mam wolne piny PB8 i PB9 więc na tych pinach chciałbym zrealizować CANa. Z informacji z sieci poskładałem coś takiego: CAN.h [syntax=c] #define STANDARD_FORMAT 0 #define EXTENDED_FORMAT 1 #define DATA_FRAME 0 #define REMOTE_FRAME 1 typedef struct { unsigned int id; /* 29 bit identifier */ unsigned char data[8]; /* Data...
michalko12: Zmieniłem xHandleTaskLED1, xHandleTaskLED2 na static, ale nic to nie pomogło. xLastFlashTime nie można: error "initializer element is not constant". W keilu żadnej tej zmiennej nie miałem jako static a program działał więc podejrzewam, że nie tu jest problem. Dodano po 4 Smashing: Jak wrzucam Twój program do Eclipsa to się nawet nie kompiluje...
Musisz dokładnie zajrzeć do "stm32f10x.h". Otworzyć go w okienku i CTRL+F i nazwa, lub okienko Outline jak masz i poszukać. Czasem są takie wyjątki w nazwie, ale większości wypadków tak nie jest (; typedef struct { __IO uint32_t CCR; __IO uint32_t CNDTR; __IO uint32_t CPAR; __IO uint32_t CMAR; } DMA_Channel_TypeDef; //........... #define DMA1_Channel1...
Nie keil a real view :P. typedef union _MMCstate { struct { BYTE isSDMMC : 1; // Set if it is a SDMMC BYTE isWP : 1; // Set if it is write protected } pola; BYTE _byte; } MMCSTATE; i później Flag->pola.isWP = 0; Flag->pola.isSDMMC = TRUE; sprawdzone
Powodem może być niepoprawna konfiguracja rejestrów sterownika. poza tym nie pokazałeś jak wygląda funkcja zapisu do ramu i ustawienia kursora. Ja używam takich funkcji: [syntax=c] typedef struct { vu16 REG; vu16 RAM; }LCD_TypeDef; #define LCD_BASE (0x6c000000) #define LCD (( LCD_TypeDef *) LCD_BASE) void LCD_WrReg(u8 reg, u16 data) { LCD->REG =...
:) Znalezione... nie wiem czy o to autorowi chodziło [syntax=c]typedef struct { unsigned char count; nrf_reg_bitsdata[]; } nrf_reg_fields; #ifdef NRF_REG_DEF_META #define REGF(FNAME, FSIZE, FRW) { .name = FNAME, .size = FSIZE, .rw = FRW, } #define REG(RNAME, RSIZE, RFIELDS) { .name = RNAME, .size = RSIZE, .fields = RFIELDS, } #else #define REGF(FNAME,...
Przykład dla DMA [syntax=c]void Init_DMA_TFT(uint16_t nofData) { // DMA2 Init Stream 0 from SRAM to FSMC DMA2_Stream0->CR &= ~(DMA_SxCR_EN); while ((DMA2_Stream0->CR & DMA_SxCR_EN));// wait for disable and clear all flags DMA2->LIFCR |= DMA_LIFCR_CTCIF0 | DMA_LIFCR_CHTIF0 | DMA_LIFCR_CTEIF0 | DMA_LIFCR_CDMEIF0 | DMA_LIFCR_CFEIF0; //0b----|...
na podstawie kursu języka C Wskaźnik na unie i strukturę Podobnie, jak na każdą inna zmienna, wskaźnik może wskazywać także na unie lub strukturę. Oto przykład: typedef struct { int p1, p2; } Struktura; int main () { Struktura s = { 0, 0 }; Struktura *wsk = &s; wsk->p1 = 2; wsk->p2 = 3; return 0; } Zapis wsk->p1...
Coś naplątałeś... Aby uzywać malloca bez dziwnych errorów, musisz zadeklarować odpowiednią ilość miejsca na stertę . Co z tego, ze twoje zmienne zajmują niewiele ramu, skoro najpewniej ustawiles sobie parę kB sterty, i gdy przekroczysz te pare kB, program ci sie natychmiast wykrzaczy, bo oczywiście najpewniej nigdy nie sprawdzasz, czy malloc przypadkiem...
Nie do końca umiem wyjaśnić, dlaczego C++ różni się tutaj od C, ale mam inną propozycję, rodem z ANSI C :) Przykładowy kod można przepisać: #include <stddef.h> typedef struct { int first; int second; int third; } type_t; #define ADDRESS 0x12345678 const int data = (ADDRESS + offsetof(type_t, second))*2; int main(void)...
Mam problem z inicjalizacją Unii deklaracja: https://obrazki.elektroda.pl/4660954600_... Ja to zrobić prawidłowo. Jeżeli zainicjuje Conf_Frame conf_Frame = {.Frame_Array = '!','S',0b00001000,... To pola bitowe mam prawidłowo. Czy inicjalizując muszę odwracać kolejność bitów?
(at)BlueDraco Tylko że jest to w ich bibliotece a nie w przykładzie. Użycie customHID bez zmieniania biblioteki nie pozwala na użycie dłuższego raportu. [syntax=c]typedef struct _USBD_CUSTOM_HID_Itf { uint8_t *pReport; int8_t (* Init) (void); int8_t (* DeInit) (void); int8_t (* OutEvent) (uint8_t, uint8_t); }USBD_CUSTOM_HID_ItfTypeDef;[/syntax]
Witam, Konfiguracja projektu oparta o stm32_blink_led autorstwa Freddie Chopin. Układ STM32F103. Uruchomiłem proste przerwanie z UARTa żeby sterować przepływem programu podczas testów. Problemem jest to wywołanie funkcji z przerwania: typedef struct { u8 print_test_1; u8 print_test_2; u8 print_test_3; } sys_flag_t; volatile sys_flag_t sys_flag;...
Czy ja dobrze czytam, że w przerwaniu od timera robisz set/reset pinów i to Twój PWM? Nie, to jest lewitacja elektromagnetyczna i odwracam w ten sposób polaryzację cewki, kiedy PID wyliczy ujemną wartość (lewitujący obiekt przekroczy setpoint). Dodano po 6 Wrzucam jeszcze całego main'a. [syntax=c] /* USER CODE BEGIN Header */ /** ****************************************...
A może o to chodzi? [syntax=c] typedef struct stale_globalne_t { int A_DAC,B_DAC,C_DAC,D_DAC; }STALE; __attribute__((used)) const STALE alfa={1,2,3,4}; int main(void) { while(1); } [/syntax] Popraw ortografię -> "UŻYWANE" !
W AVR-ach nie ma chyba niczego takiego. W nowych (np. AVR64DD32) już jest: [syntax=c]/* I/O Ports */ typedef struct PORT_struct { register8_t DIR; /* Data Direction */ register8_t DIRSET; /* Data Direction Set */ register8_t DIRCLR; /* Data Direction Clear */ register8_t DIRTGL; /* Data Direction Toggle */ register8_t OUT; /* Output Value */ register8_t...
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;...
Z paczki STM-a z kwietnia 2017. Jak na FATFs to dość świeże. Paczka F303 v1.7.0 Paczka dla STM32L4 ściągnięta parę dni temu: [syntax=c]typedef struct { FSIZE_tfsize; /* File size */ WORDfdate; /* Modified date */ WORDftime; /* Modified time */ BYTEfattrib; /* File attribute */ #if _USE_LFN != 0 TCHARaltname[13]; /* Alternative file name */ TCHARfname[_MAX_LFN...
Walczę z obsługa klawiatury - w tym necie nic sensownego znaleźć nie można .... na razie tyle .......; #include <stdio.h> #include <stdlib.h> #include <HD44780.h> // definicje zmiennych ----------------------------------------... #define vcc_ref 5.0 // napiecie referencyjne #define hall_ref 2.5 // napiecie referencyjne...
A w pliku stm32f10x.h jest: [syntax=c]#define SPI_CR2_TXEIE ((uint8_t)0x80) /*!<Tx buffer Empty Interrupt Enable */[/syntax] Zauważ że to przerwanie będzie generowane po każdym opróżnieniu bufora TX. Powinieneś włączyć je dopiero pod koniec czyli w Twoim przypadku podczas obsługi przerwania od zakończenia działania DMA. Lepiej jednak wróćmy do wcześniejszej...
chcę zsumować wszystkie bajty struktury. Dodano po 44 mam podejrzenie że chcesz zrobić coś bardzo dziwnego i zupełnie niepotrzebnego... często tak mam :)
Witam, Próbuje zaimplementować hosta na stm32f407, który będzie obsługiwał klawiatury. Bazuje na przykładzie ze strony: [url=http://stm32f4-discovery.com/2014/0... Przykład jest oparty na: STM32_USB-Host-Device_Lib_V2.1 Mam dwa problemy: 1. Nie działa wysyłanie raportów z hosta do klawiatury...
Wielkie dzięki. Instrukcja load niestety nie działa w tego typu zastosowaniu. Wystarczy zmienić na monitor flash write_image erase main.bin 0x08000000 Reasumując Gdyby ktoś kiedyś chciał zaimplementować używanie flasha jako eeprom: Można tak: Zainicjować sobie strukturę obojętnie jaką w sekcji variables. #define FLASH_PAGE_SIZE ((u16)0x400)...
Ja mam zrobione w ten sposób: [syntax=C] typedef struct { uint8_t heightPixels; // height, in pages (8 pixels), of the font's characters uint8_t startChar; // the first character in the font (e.g. in charInfo and data) uint8_t interspacePixels;// number of pixels of interspace between characters uint8_t spacePixels; // number of pixels of space character...
Możesz zrobić to np. tak: [syntax=c] typedef __packed struct { uint8_t byte_1 :8; uint8_t byte_2 :8; uint8_t byte_3 :8; uint8_t byte_4 :8; }ftobytes_t; float dana; ftobytes_t *zapis; zapis=(ftobytes_t*)(&dana); eeproma=zapis->byte_1; eepromb=zapis->byte_2; eepromc=zapis->byte_3; eepromd=zapis->byte_4; [/syntax] Ja opierałem się na kompilatorze RelView...
Oho, właśnie mi znowu nie chciał przejść pierwszego startu. Twój sposób pomógł :) Skąd ty go wytrzasnąłeś? :D ps. typedef struct { uint32_t SYSCLK_Frequency; /*!< returns SYSCLK clock frequency expressed in Hz */ uint32_t HCLK_Frequency; /*!< returns HCLK clock frequency expressed in Hz */ uint32_t PCLK1_Frequency; /*!< returns PCLK1 clock...
Rok 2013. Grudzień. Świat jest już technologicznie zaawansowany. Proszę o informację, czemu w tej "świetnej" bibliotece w funkcjach typu [syntax=C]void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef... FSMC_NORSRAMInitStruct);[/syntax] oraz w strukturach typu: [syntax=C]typedef struct { ... FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct; /*!<...
I kontynuuję temat. Na razie kod taki: Czyli coś jest nie tak z wykrywaniem kolizji nadal... A moze prosty algorytm wektorowy - mniej wiecej tak z kolizjami radza sobie nowsze gry... [syntax=c] #include <stdio.h> #include <assert.h> #include <math.h> #include <SDL/SDL.h> #include <SDL/SDL_gfxPrimitives.h> typedef struct...
Witam, podłączyłem do mojej płytki 2 moduły nrf odpowiednio odbiornik do SPI1 a nadajnik na SPI2. Niestety mam problem z obsługą tych układów, nie zgłaszają mi one przerwań na pinach który ustawiłem jako wejściowy z pull-up oraz triggerem reagującym na zbocze opadające (sprawdzałem piny zwierając je do masy przerwanie zostało wywołane poprawnie). Funkcje...
Cześć, void dupa() { ; } int main() { dupa(); int test; //FILINFO Info[1000]; while(1) { ; } return 0; } Jeśli odkomentuję deklarację tablicy FILINFO Info , to przy wejściu do funkcji dupa(); wyskoczy wyjątek, który przenosi sterowanie do HardFault_Handler() . Dzieje się tak niezależnie...
Może to dlatego, że GIOB to jest makro a nie zmienna. Wydłubałem trochę kodu z twoich plików źródłowych: [syntax=c]#define __IO volatile typedef struct { __IO uint32_t CRL; __IO uint32_t CRH; __IO uint32_t IDR; __IO uint32_t ODR; __IO uint32_t BSRR; __IO uint32_t BRR; __IO uint32_t LCKR; } GPIO_TypeDef; #define PERIPH_BASE ((uint32_t)0x40000000) #define...
Dzień dobry, Mam problem z dogadaniem się z ADIS16201. https://www.analog.com/media/en/technica... Zacznę od tego, że korzystam z płytki : https://www.analog.com/en/design-center/... Wyjścia podłączyłem w sposób następujący: ADIS1620...
Z przetwornika ADC dostaję 24 bity, a pamięć mam 16-bitową Co to znaczy, że masz pamięć 16 bitową? Bo jakoś tego nie rozumiem. To że masz 16 bitów danych z układu pamięci nie oznacza, że STM nie potrafi tego użyć jako "normalną pamięć". Nie rozumiem dlaczego nie możesz robić tego na 24 bitach. Jeżeli chcesz robić operacje ze znakiem na 24 bitowych...
Można powiedzieć, że nic ci nie działa bo uzywasz SPL... Ramka CAN: [syntax=C] typedef __packed union CANFrameInfo { u8 val; __packed struct { u8 rtr:1; u8 ide:1; u8 dlc:4; }; } CANFrameInfo; typedef __packed struct CANFrame { CANFrameInfo info; __packed union { u32 id32; u8 id8[4]; u16 id16[2]; }; __packed union { u8 data[8]; u32 data32[2]; }; } CANFrame;...
Proszę kod bez dodatkowych pustych lini. biblioteka [syntax=c] /* Includes ----------------------------------------... #include "TC.h" #include "systick.h" #include "GLCD.h" #include <stdio.h>; /***************************************... * Function Name : MAX31855_SPI_Init * Description...
le nie ma tam słowa o FMC . No bo FMC po skonfigurowaniu to po prostu pamięć w przestrzeni adresowej - czyli po prostu piszesz lub czytasz do/z tego adresu. Czyli DMA memory to memory. Dla przykładu u mnie w projekcie teraz używam banku 1, 16 linii danych i szyny adresowej A2 jaki DC. Po sonfigurowaniu FMC [syntax=c]typedef struct { volatile uint16_t...
Witam, pozwolę sobie na wykopaliska archeologiczne, ale myślę, że to może się jeszcze komuś przydać. Większość przypadków Hard Fault podczas działania DMA w STM32F1 powstaje przez błędną konfigurację kanału DMA przy użyciu biblioteki standardowej. Błędny fragment kodu: hlayer.c:167:43: warning: assignment makes integer from pointer without...
typedef struct sizeof struct stm32 typedef volatile
oleju skrzyni megane falownik eurodrive koszulki olejowe
naprawa udaru makita problemy diagbox
Zamienniki dla diody MTZJ 2.7A: BZX55C2V7, 1N5221B Superkondensator C1001 w Harman Kardon AVR 660: parametry i zamienniki