Skocz do zawartości

Mellon

Użytkownicy
  • Zawartość

    157
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    3

Mellon zajął 1. miejsce w rankingu.
Data osiągnięcia: 22 października 2017.

Treści użytkownika Mellon zdobyły tego dnia najwięcej polubień!

O Mellon

  • Urodziny 30.12.1976

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Gdańsk
  • Programuję w
    C#,Matlab,C
  • Zawód
    automatyk
  • Moje zainteresowania:
    elektroenergetyka

Ostatnio na profilu byli

1 231 wyświetleń profilu

Osiągnięcia użytkownika Mellon

Eksplorator

Eksplorator (8/19)

  • Za 5 postów
  • Za 25 postów
  • Za 100 postów
  • To już rok!
  • To już 5 lat!

Odznaki

8

Reputacja

  1. Myślę, że można spróbować wykorzystać Wine 5.0 do uruchomienia aplikacji windowsowej.
  2. Jeżeli plik exe został utworzony w dot.NET (konsola, Windows Forms) np. C# to za pomocą projektu mono można uruchomić. Inna opcja instalacja Windows 10 IoT Core i utworzenie aplikacji Uniwersalnej Platformy Windows. Testowałem - działa. Oczywiście po opublikowaniu do ARM64/ARM32. Visual Studio umożliwia programowanie na laptopie i publikowanie do zdalnej maszyny.
  3. Mam pytanko. Jak utworzyć nową bibliotekę na Platform IO? Gdzie należy umieścić folder z plikami .h i .cpp
  4. Podczas próby kompilacji przykładu UART_TwoBoards_ComPolling wystąpił błąd linkowania. Katalogi przykładów mają porozrzucane pliki. Utworzyłem nowy projekt dla Nucleo. Uzupełniłem katalogi inc/src plikami z przykładu (po dołączeniu plików stm32h7xx_nucleo_144.h/.c) otrzymuję Building target: TestUART.elf Invoking: MCU GCC Linker arm-none-eabi-gcc -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-d16 -T"C:/STM32_H7/TestUART/LinkerScript.ld" -Wl,-Map=output.map -Wl,--gc-sections -o "TestUART.elf" @"objects.list" -lm c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.16.0.201807130628/tools/compiler/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld.exe: .ARM has both ordered and unordered sections c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1.16.0.201807130628/tools/compiler/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld.exe: final link failed: Bad value collect2.exe: error: ld returned 1 exit status makefile:35: recipe for target 'TestUART.elf' failed make: *** [TestUART.elf] Error 1 .ARM has both ordered and unordered sections Z czego to wynika? Co to oznacza?
  5. Niestety trochę różnic jest. A diabeł tkwi w szczegółach. Niby HAL (abstrakcyjna warstwa niezależna od sprzętu), ale sporo się różni dla F1, F4 i H7. Co ciekawe nie wynika to z różnic sprzętowych.
  6. Wtedy prościej utworzyć bibliotekę statyczną z poprawioną wartością tej zmiennej, ustawieniami zegarów (HSE), itp. i wydzielić do katalogu z którego wszystkie projekty dot. tej rodziny STM32 będą korzystać. Wbudowany generator RC w pełnym zakresie temperatur ma wahania częstotliwości rzędu kilku procent. Natomiast rezonatory kwarcowe/ceramiczne mają wahania częstotliwości rzędu 15-30 ppm ((parts per million). Koszt takiego to ok 2 zł. A taki rezonator mamy w Nucleo jeśli nie odłamiemy programatora. W przypadku wykorzystania do komunikacji, synchronizacji z innymi urządzeniami wymagany jest stabilny sygnał zegarowy. Dlaczego by nie skorzystać z niego.
  7. Co prawda podczas debugowania po wywołaniu HAL_Init zmienna SystemCoreClock miała wartość 8MHz, pomimo że nie ustawiłem jej na prawidłową wartość. Ustawia ją SystemCoreClockUpdate(). Lecz nie wiem w którym momencie jest wywoływana tj. czy przed pierwszym użyciem tej zmiennej.
  8. Dzięki Elvis Właśnie tego brakowało w kursie o przerwaniach. Wystarczy pierwsza z nich. Drga służy do wybrania grupy od 1 do 4 (priorytetów i podpriorytetów) HAL_NVIC_SetPriority(EXTI15_10_IRQn,0,0); HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
  9. Mam pytanie dot. przerwań. W SPL wyglądało to tak: wybranie grupy priorytetów (jest w HAL_Init()) ustawienie priorytetu i sub-priorytetu, kanału i jego włączenie NVIC_InitStruct :NVIC_Init Skonfigurowanie GPIO :GPIO_Init Ustawienie źródła przerwania GPIO_EXTILineConfig Skonfigurowanie kontrolera zewnętrznych przerwań/zdarzeń (sygnał opadający/rosnący oba): EXTI_Init() Utworzenie funkcji przerwania. Jak ustawić priorytety przerwania w HAL?
  10. Korzystając z rezonatora w programatorze: HAL_Init(); RCC_OscInitTypeDef osc; osc.OscillatorType = RCC_OSCILLATORTYPE_HSE; osc.HSEState = RCC_HSE_BYPASS; osc.HSIState = RCC_HSI_OFF; osc.PLL.PLLState = RCC_PLLSOURCE_HSE; osc.PLL.PLLMUL = RCC_PLL_MUL9; HAL_RCC_OscConfig(&osc); RCC_ClkInitTypeDef clk; clk.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; clk.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; clk.AHBCLKDivider = RCC_SYSCLK_DIV1; clk.APB1CLKDivider = RCC_HCLK_DIV2; clk.APB2CLKDivider = RCC_HCLK_DIV1; HAL_RCC_ClockConfig(&clk, FLASH_LATENCY_2); SystemCoreClockUpdate(); Tylko nie wiem jak sprawdzić częstotliwość rdzenia z jaką on rzeczywiście pracuje?
  11. #include "stm32f1xx.h" int main(void) { SystemCoreClock = 8000000; // taktowanie 8Mhz HAL_Init(); Przyznasz, że to dziwna konstrukcja.
  12. Ja bym proponował napisać odcinek kursu. To wszyscy by zrozumieli co i jak. Bez tego to czarna magia będzie dla innych czemu z 72MHz zmieniamy na 8MHz. Jak coś napiszę mogę podesłać.
  13. Zgadza się. Sygnał MCO z programatora jest podłączony do F103RB (poprzez zworki SB16, SB50). Jeśli mikrokontroler programatora(STM32F103CBT6) ma ustawiony MCU na HSE to mamy 8 MHz. Warto byłoby wiedzieć jak w HAL ustawiane są sygnały zegarowe. Wiem, że najpierw ustawiany jest wewnętrzny zegar HSI potem jak on się poprawnie uruchomi to można zmienić na HSE. Ale warto co na jakiej szynie czym jest taktowane.
×
×
  • 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.