Skocz do zawartości

bremenpl

Użytkownicy
  • Zawartość

    8
  • 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 bremenpl

Młodszy odkrywca

Młodszy odkrywca (3/19)

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

Odznaki

0

Reputacja

  1. Czesc, dziekuje za dobry kurs. Mam jednak pytanie odnosnie obslugi przerwan od zdarzen zewnetrznych przy uzyciu biblioteki HAL. Jest tu pewna niejasnosc: /* USER CODE BEGIN PFP */ /* Private function prototypes -----------------------------------------------*/ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == Button_Pin){ HAL_GPIO_WritePin(LED_Blue_GPIO_Port, LED_Blue_Pin, HAL_GPIO_ReadPin(Button_GPIO_Port, Button_Pin)); } } /* USER CODE END PFP */} Autor podaje w jaki sposob sprawdzic ktory numer pinu spowodowal przerwanie, ale dalej nie wiadomo ktory port (A, B, C itd.). Ponadto nie wiadomo czy przerwanie bylo od falling czy rising edge, ale powiedzy moze to mozna sprawdzic odczytujac aktualny stan wyjscia. Ale zeby to zrobic, trzeba wiedziec od ktorego portu nastopilo przerwanie. Czy moglbym prosic o pomoc w tej kwestii?
  2. Czesc, Przy generowaniu kodu przez cubeMX (osobny program) tworzy on zawsze projekt o nazwie "nazwaprojektu configuration". Mam caly czas problem ze spacja w nazwie projektu i za kazdym razem jak aktualizuje kod przez cuba, to musze ja usuwac dla nazwy pliku wyjsciowego. Zauwazylem ze w waszym tutorialu nie ma tego problemu i macie nazwe projektu " costam_output". Czy moglbym prosic o wytlumaczenie jak ten problem zostal u was pominiety?
  3. Moze moj post rzeczywiscie mogl byc zle odebrany- Jestem bardzo wdzieczny za wlozona prace i jestem pewien ze kurs przyda sie bardzo wielu osobom w tym napewno mnie jesli przyjdzie mi siegnac po std.
  4. Nie ma po co sie denerwowac- podrzucam tylko feedback. Dzieki temu bedzie wiadomo ze sa tez osoby zainteresowane HAL'em. Nie napisalem ze nie powinienes robic w ogole tutoriali. Popieram tego typu aktywnosci, niezaleznie od tematyki.
  5. Witam, Ja takze jestem zawiedziony tym ze kurs bedzie prowadzony na podstawie bibliotek std. W praktyce chodzi o to aby znalezione przyklady jak najmniejszym kosztem zastosowac w swoim projekcie. W tym wypadku bedzie trzeba je jeszcze tlumaczyc na HAL'a. Zdaje sobie sprawe z tego ze std jest bardzo stabilne i uzywane od dlugiego czasu, ale warto sie przystosowywac do zmian. Bibliotek std na F7 juz np nie bedzie, co jest zrozumiale. Szkoda, mialem nadzieje ze dzieki temu kursowi poznam lepiej biblioteki HAL.
  6. Witam, Uzywam stm32Cube do generowania kodu dla SW4 ktorego uzywam w eclipse. Staram sie usrawic przerwania RX dla CAN1, ale nie moge tego uruchomic, program counter nigdy nie wchodzi do obslugi przerwania. Wysylanie dziala. Testowa procedura dla sprawdzenia wysylania: CanTxMsgTypeDef TxMess; TxMess.ExtId = 0x234501; //TxMess.StdId = 0x241; TxMess.RTR = CAN_RTR_DATA; TxMess.IDE = CAN_ID_EXT; TxMess.DLC = 4; TxMess.Data[0] = 0x04; TxMess.Data[1] = 0x01; TxMess.Data[2] = 0x02; TxMess.Data[3] = 0x11; hcan1.pTxMsg = &TxMess; HAL_StatusTypeDef status1 = HAL_CAN_Transmit(&hcan1, 10); Ponizsza funkcja zwraca 0, wiec wydaje mi sie ze prerwania RX sa wlaczone. HAL_CAN_Receive_IT(&hcan1, CAN_FIFO0) Czekam na przerwanie w miejscu wygenerowanym przez Cube: * @brief This function handles CAN1 RX0 interrupts. */ void CAN1_RX0_IRQHandler(void) { /* USER CODE BEGIN CAN1_RX0_IRQn 0 */ /* USER CODE END CAN1_RX0_IRQn 0 */ HAL_CAN_IRQHandler(&hcan1); /* USER CODE BEGIN CAN1_RX0_IRQn 1 */ /* USER CODE END CAN1_RX0_IRQn 1 */ } Ale nic nie dostaje. Nie ustawialem filtrow na CAN ID, wiec powinno czytac od kazdego ID. Czy o czyms zapomnialem? W internecie nie moge praktycznie znalezc zadnych step-by-step tutoriali pokazujacych jak uzywac HAL'a, a sam doxygen z biblioteki nie ma praktycznych przykladow. Bylbym wdzieczny za kazda pomoc.
  7. Takie tam jeszcze nie posprzatane w poniedzialek 😋. EDIT: To czytanie ze zrozumieniem...
×
×
  • 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.