Wyglądają dobrze. 4\/3!!
Ale w samym USARTcie trzeba włączyć przerwanie na TXE... Jak to zrobić w SPL - dunno...
przerwanie: [syntax=c]void USART1_IRQHandler() { if(USART1_SR_RXNE_bb) { RXD1_buffer[RXD1_head] = USART1->DR; RXD1_head = (RXD1_head + 1); if (RXD1_head == RXD1_tail) { // tutaj możemy w jakiś wygodny dla nas sposób obsłużyć błąd spowodowany // próbą nadpisania danych w buforze, mogłoby dojść do sytuacji gdzie // nasz wąż zacząłby zjadać własny ogon...
Hehe. Wiem że to dziwne ale robiłem to na szybko. Cały czas eksperymentuje a mam mało czasu wiec mam nie mały bajzel. To ja jeszcze zwrócę uwagę na to, bo w Twoich kodach z innych tematów aż się rzuca w oczy: [syntax=c]USART1->CR1 = USART_CR1_UE; USART1->BRR = 168000000/9600 ; USART1->CR1 |= USART_CR1_TE | USART_CR1_RE; // RX, TX enable[/syntax] Po...
Ale to nie problem bo w STM32 możesz w rejestrze UARTu ustawić negację na pinie. Tylko w niektórych rodzinach. W STM32F1 którego dotyczy ten temat (jak i np. w STM32F4) nie jest to możliwe.
Parę przykładów DMA na STM32F bez SPL niedawno się tu przewinęło - szukaj. Włącz DMA w rejestrze AHBENR, a potem np. coś takiego: DMA1_Channel2->CMAR = (uint32_t)time; DMA1_Channel2->CPAR = (uint32_t)&USART1->TDR; DMA1_Channel2->CCR = 0;// disable DMA1_Channel2->CNDTR = sizeof(time);// no. of items // increment memory adress, mem->periph, enable DMA1_Channel2->CCR...
potriva, Pierwsze dwa punkty miałem spełnione. Nie zimportowałem Twojego projeku do CoCoox'a ale dzięki niemu wpadłem na pewien pomysł. Otóż, ja używałem USART1... z tego co się doczytałem ma on wspólną linie z portem mini usb, przez który wgrywam program oraz zasilam moją płytkę. Właśnie to powoduje przekłamania na USART1. Dziękuję wszystkim za pomoc,...
Załączam pliki startowe. Może coś w nich jest źle? entry.s .syntax unified .thumb .global vectors .global defaultHandler .section .isr_vector, "a" // Lista wektorow przerywan vectors: .word _end_stack .word resetHandler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler .word...
Postanowiłem zawalczyć z tym UARTem ale (wstyd przyznać) trochę sobie nie radzę. Podejrzewam, że robię gdzieś jakiś głupi błąd, którego nie mogę zlokalizować. Połączenie STMów wygląda następująco: ZL26ARM programuję z USB za pośrednictwem STM32F4 (SWD->JTAG), oprócz tego ZL'a zasilam sobie z drugiego USB. Na ZL'u USART1 remapowałem sobie na piny PB6(Tx)...
Ogólnie co do płytek discovery, wszystkich modeli - zanim zaczniesz z czegokolwiek korzystać wydrukuj sobie z User Manuala płytki tabelkę (zwykle pod koniec dokumentu) i zaznaczyć na czerwono piny podpięte na płytce do czegoś tam - potem jak coś podpinam to pierwsze paczę czy nie jest na czerwono a jak jest na czerwono a chcę użyć to sprawdzam do czego...
[syntax=armasm]g_pfnVectors: .word _estack .word Reset_Handler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler .word 0 .word 0 .word 0 .word 0 .word SVC_Handler .word DebugMon_Handler .word 0 .word PendSV_Handler .word SysTick_Handler /* External Interrupts */ .word WWDG_IRQHandler /*...
ale nie umiem uporać się z tym, że komputer nie widzi st linka jako normalnego portu com, przez co nie potrafię "wybrać" portu w trakcie wgrywania programu. Pierwsza sprawa. W Twoim zestawie (ten STlink i płytka) nie ma i nie będzie żadnego COM w komputerze dopóki sobie go sam fizycznie nie dołożysz. Funkcjonalność że w STlink jest dodatkowo COM występuje...
Witajcie, Posiadam płytkę STM32F4DISCOVERY z procesorem STM32F407VG. Używam pakietu Eclipse + linaro + openOCD skonfigurowanego wg opisu Freddiego Chopina. Uruchomiłem również przykładowy program stm32f4_blink_led. Chciałem dołożyć obsługę USART1. Konfigurację napisałem w pętli main. [syntax=c] int main(void) { volatile uint32_t count, count_max = 10000000;...
Włączanei UARTa przed jego skonfigurowaniem to nie najlepszy pomysł, a właśnie tak postępujesz. Masz kod (a dokładniej - tablicę z adresami i wartościami rejestrów) na STM32F0 Na F4 będzie prawie to samo: [syntax=c]{&RCC->APB2ENR, RCC_APB2ENR_USART1EN}, // port setup {&RCC->AHBENR, RCC_AHBENR_GPIOCEN | RCC_AHBENR_GPIOAEN},// GPIOC, GPIOA...
Witam, kolegów mam prośbę jestem początkującym z stm i aktualnie bawię się komunikacją poprzez usarta do nauki korzystam z różnych źródeł jak również z poradnika z tego forum posiadam taką płytkę http://elty.pl/pl/p/STM32F429IGT6-MCU-co... skonfigurowałem sobie USARTA1 tak zwane echo z terminala ale niestety jakieś głupoty odbieram w terminalu,...
Witam serdecznie, Robię hexapoda 18xservo, wykorzystuję do tego niezależne kanały TIM2,3,4,5 i TIM12. Napotkałem problem z kanałem 2 i 3 dla TIM5, nie działa. Żeby nie wrzucać całego programu i nie zaburzać czytelności, przygotowałem mini aplikację testową dla TIM5 PWM, podobnie channel 1 i 4 działa, channel 2 i 3 nie działa. Czy dla pinów PA1 i PA2...
Witam, Chcę zrobić coś takiego: strumień danych z RX kanałów USART1 oraz USART2 ma być połączony w jeden strumień i przesyłany na bierząco kanałem USART3. Chciałem to zrobić na przerwaniach i czymś w rodzaju DIY bufora cyklicznego - USARTY w przerwaniach ładują do jednego bufora i inkrementują wskaźnik, natomiast w nieskończonej pętli w main.c jest...
Witam, wydawałoby się, że problem jest banalny, a mimo to już dzień nad nim spędziłem (a czas mi nagli bardzo). Moim zadaniem jest odczytanie wartości ADC i wysłanie przez USART do PC (do Hyperterminala przez konwerter RS232 ->USB). Ogarnąłem wysyłanie np. znaku "a", jednak wartość ADC to jakiś ciąg cyfr (chyba 4-cyfrowy). I nie wiem jak po konwersji...
Witam mam problem z nadawaniem po USART1 z użyciem DMA. Gdy dłuość ciągu znaków nie przekracza 20 to wszystko pięknie działa. Natomiast gdy jest nie wiele większa 22, 23 ... to wyśle parę paczek o tej długości i przestaje. Dla jeszcze większej długości paczki nie wysyła wcale. Po podejrzeniu flag DMA ustawia się TCIF, czyli ok ale również dodatkowo...
Witam! Otóż moje następujące pytania: Czy to, co tutaj jest napisane ma prawo działać prawidłowo? Głównie mi chodzi o to, czy jest to w miarę dobrze zaprogramowane( aktualnie brak możliwości sprawdzenia, z powodu braku rezystora). Drugie pytanie, jeżeli mam funkcje USART_puts, jak zrobić, by temperatura zostawała przekazywana właśnie przez tą funkcję?...
Witam też mam problem z uartem. Komunikacja jest ale z błędami. Siedzę już za długo nad tym: [syntax=cpp] void usart__ini() { RCC->APB2ENR|= RCC_APB2ENR_USART1EN ; //wlacz uart1 taktowanie RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN ; //aktywuj i w porcie B GPIO_PinConfigure ( GPIOB ,7 , GPIO_MODE_AF ,GPIO_OUTPUT_PUSH_PULL ,GPIO_OUTPUT_SPEED_50MHz , GPIO_NO_PULL_UP_DOWN);...
Witam Używam płytki STM32F4 Discovery. Muszę odczytać sporą ilość danych, więc UART wydaje się jedynym rozsądnym rozwiązaniem. Poniżej kod, którego używam (sugerowałem się kodami z różnych stron). [syntax=c]#include "stm32f4xx.h" #include "stm32f4_discovery.h" #include "misc.h" // I recommend you have a look at these in the ST firmware folder #include...
Witam, Po uruchomieniu trzech interfejsów RS232 w STM32f103rb przyszedł czas na RS232 w STM32f407 i odrazu problem. Zrobiłem konfigurację USARTA i wysyłam w pętli znak 'a' a otrzymuję jakieś E z indeksem dolnym 1. Konfiguracja : [syntax=c] void init_USART1(){ /* This is a concept that has to do with the libraries provided by ST * to make development...
Witam, Kiedyś działało mi bez problemu jedno zadanie w freeRTOS, jednak teraz mam problem gdy próbuję utworzyć dwa zadania. Gdy debuguje program to zatrzymuje się na vTaskStartScheduler(); Co to może być ? Mój main to: [syntax=c] #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" #include "math.h" #include "stdio.h" #include "myusart.h"...
(at)GrzegorzKostka Możesz mi jeszcze powiedzieć np dlaczego w dokumentacji USART3_TX jest na PB10 i PD8 ? Albo USART1_TX jest na PB6 i PA9 ? Mogę sobie wybrać np. PB6 lub PA9 ale nie ma możliwości dwóch naraz jako oddzielnych ?
Witam! Zacznę od tego, że jestem raczej laikiem z programowania STM-ów. Ale nie jestem też leniem, że znajduję gotowca, kopiuję i liczę na to, że będzie działać. A jak nie działa to lipa. Staram się to zrozumieć i znaleźć problem. ;) Niestety brak wiedzy sprawił, że wymiękłem i pomyślałem, żeby zapytać na forum. Co chcę zrobić: Podłączam bluetootha...
Nie korzystam z systemInit ani zadnej innej biblioteki, cały kod który mam jest napisany w 100% przeze mnie. Czyli dobrze założyłem, to 16Mhz, pytanie ktore dalej pozostaje bez odpowiedzi to co jest nie tak ? :( Chyba jednak nie cały. Nie napisałeś nic o środowisku - obejrzyj SystemInit(). Najbardziej nie tak jest to, że nie pokazałeś poprawionego...
Więc tak, to po kolei mam w zakładce Pinout : FREERTOS ADC1 ADC2 ADC3 CAN1 CAN2 CRC DAC DCMI DMA2D ETH FMC I2C1 I2C2 I2C3 I2S2 I2S3 IWDG LTDC RCC RNG RTC SAI1 SDIO SPI1 SPI2 SPI3 SPI4 SPI5 SPI6 SYS TIM1 TIM2 TIM3 TIM4 TIM5 TIM6 TIM7 TIM8 TIM9 TIM10 TIM11 TIM12 TIM13 TIM14 UART4 UART5 UART7 UART8 USART1 USART2 USART3 USART6 USB_OTG_FS USB_OTG_HS WWDG...
Witam, Próbuje skomunikować ze sobą STM32F4 z Arduino UNO po UARTcie. Skonfigurowałem UART1 i płytka komunikowała się bez problemu z Arduino. Lecz do mojego projektu potrzebna jest komunikacja przez UART2 (piny PA2-TX i PA3-RX), po skonfigurowaniu UART2 i podłączeniu do do Arduino nie mogę odczytać żadnych danych. Jeżeli podłącze UART1 z UART2 na płytce...
Witam, Programuje STM32F407 przy pomocy HAL ( STM32CubeMX ) i Keil uVision 5 . Stworzyłem komunikacje przez UART HAL_UART_RxCpltCallback wykona mi się dopiero po przyjściu 6 znaków Komunikacja UART potrzebna jest mi do implementacji interfejsu MODBUS. W interfejsie MODBUS jak czytam z pdfa "http://modbus.org/docs/Modbus_Applicati...
Chciałbym się poradzić doświadczonych w przenoszeniu kodów z niższej rodziny na wyższą. Poniżej zamieszczam chyba najbardziej wrażliwy na przeniesienie fragment kodu. [syntax=c] // inicjalizacja taktowania PLL-e itp... RCC_DeInit(); RCC_HSI_Config(); // konfiguracja wyprowadzeń fpga_Pins_configure(); // konfiguracja przerwań NVIC_Configuration(); LCD_Pins_configure();...
Cały plik main. [syntax=c]/** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * * COPYRIGHT(c) 2016 STMicroelectronics * * Redistribution and use in source and binary forms, with or without...
Dzięki za odpowiedzi. Jak na razie najbardziej kusząca wydaje się propozycja użycia bootloadera po USART1 (o ile ten nie został zablokowany - to będę musiał sprawdzić). To że natywnie stlinki z discoverów mają ograniczenie do danej rodziny wiedziałem, ale myślałem, że może są jakieś modyfikacje, zmiana firmware itp. Ewentualnie rzeczywiście albo Versaloon...
Cześć! Posiadam od wielu lat (co najmniej 4) płytkę uruchomieniową Open107V od Waveshare. Nigdy nie miałem z nią problemów, i każdy projekt robiłem na niej, bo ma wszystko ładnie wyprowadzone i szybko mogłem sobie debugować instalację. Obecnie robię układ w którym 2 układy (drugi to STM32F407) komunikują się ze sobą przez RS485, korzystając z gotowego...
Witam serdecznie. Zacząłem się bawić PWM w smt32f4 w trybie DMA. Korzystałem z tego kursu tutaj: https://forbot.pl/blog/kurs-stm32-f4-8-z... Generalnie wszyto działa, ale jak chciałem sobie zmienić kierunek DMA (czyli nie zpamieci do peryferiów), ale na odwrót - z peryferiów do pamieci to w zmiennej duty mam cały czas...
Dodano po 3 I aby w razie czego nie płakał że nie ma: Możesz to zrobić w C też oczywiście: [syntax=armasm] .weak NMI_Handler .thumb_set NMI_Handler,Default_Handler .weak HardFault_Handler .thumb_set HardFault_Handler,Default_Handler .weak MemManage_Handler .thumb_set MemManage_Handler,Default_Handler .weak BusFault_Handler .thumb_set BusFault_Handler,Default_Handler...
Witam, Głowię się od jakiegoś czasu jak rozwiązać następujący problem. Piszę program na procesor STM32F4, który miałby po RS232 wysyłać dane zawarte w strukturze: [syntax=c]struct rs232_data { int a; int b; int c; }; struct rs232_data dane; dane.a = 12; dane.b = 34; dane.c = 76;[/syntax] Póki co to przykładowa struktura, która ma na celu wyłącznie przetestowanie...
Przykład dla F051, ale podejrzewam, że na F4 będzie tak samo: Inicjowanie DMA w main: [syntax=c]DMA1_Channel2->CMAR = (uint32_t)time; DMA1_Channel2->CPAR = (uint32_t)&USART1->TDR; [/syntax] W przerwaniu timera: [syntax=c] if (upd_time) { // init DMA for time string transfer DMA1_Channel2->CCR = 0;// disable DMA1_Channel2->CNDTR = sizeof(time);// no....
Mam za zadanie wysyłac paczke 18 bajtów danych przez 2 uarty co 10us. Wysyłanie w pętli main działa ale zabiera 95% wykorzystania CPU i uniemożliwia dalszą prace. Próbuje skonfigurować transfer danych z pamięci do UARTów przez 2 osobne kanały DMA wyzwalanego przez timer no i nic nie działa. Może ktoś podpowie jak do tego podejść? Tutaj konfiguracja...
Witajcie. Piszę krótko. Używam STM32F407. Do trzech różnych USARTów mam podłączone cwa czujniki i jeden datalink Czujnik_1 - USART1 Czujnik_2 - UART5 Datalink - USART3 Z czujników zbierane są dane a datalink wysyła te dane, które zostały odebrane. Wszystko dzieje się na przerwaniach. Kiedy podpinam każdy z czujników oddzielnie i datalink'a, wszystko...
Próbuje uruchomić przerwania: vector.c wygląda tak [syntax=c]static void __Default_Handler(void) __attribute__ ((interrupt)); static void __Default_Handler(void) { while (1); } /* +=======================================... | assign all unhandled interrupts to the default handler +=======================================...
Witam Pracuje obecnie nad projektem odbiornika sygnały DMX512. Sprawa wygląda następująco: -Sygnał danych czytany jest z urządzenia zwane Kwamatik USB2DMX, obsługiwane przez program Q Light Controller. „Po drodze” do uC trafia jeszcze na driver RS485 a potem na PIN RX UART1 oraz PIN PB9 skonfigurowanego jako wejścia dla Timera 11 pracującego...
Witam Posiadam płytkę STM32F4 Discavery chciał bym uruchomić USART6 ale przesyła mi złe dane. Sprawdzałem już zegary ustawienia usart ale nic mi już nie przychodzi do głowy. Zegary ustawione są przy pomocy funkcji SystemInit(). Cały plik sytem_stm32f4xx.c generowałem przy pomocy narzędzia STM32F4xx_Clock_Configuration_V1.1.0 (w excelu). Chcę użyć USART6....
mam ustawione przerwanie zewnętrzne ustawione na wyzwalanie zboczem opadającym i narastającym w funkcji obsługi przewania zapisuję sobie do bufora: void EXTI0_IRQHandler(void) { //Check if EXTI_Line0 is asserted if(EXTI_GetITStatus(EXTI_Line0... != RESET) { Buffer[iWriteIdx] = 'I'; GoToNextElement(&iWriteIdx);...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego wszystkiego ogarnąć. Kompilatora używałem poprzez naciśnięcie "build". W ustawieniach...
(at)tadzik85 to jest moja inicjalizacja : [syntax=c] void init_USART6(){ GPIO_InitTypeDef GPIO6_InitStruct; // this is for the GPIO pins used as TX and RX USART_InitTypeDef USART6_InitStruct; // this is for the USART6 initilization NVIC_InitTypeDef NVIC6_InitStructure; // this is used to configure the NVIC (nested vector interrupt controller) RCC_APB2PeriphClockCmd(RCC_APB2Periph_US...
Witam ponownie. Uruchomiłem USART na stm32f4 chodzi pięknie . Teraz testowo chce wysłać ciąg 1,2,3 z wykorzystaniem DMA i niestety pomimo moich starań ramka przesyłana jest tylko raz. W czym leży problem. [syntax=c] void usartSetup (void) { RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; // enable clock for GPIOD RCC->APB1ENR |= RCC_APB1ENR_USART2EN; // enable...
A włączyłeś zegar uarta?
Czy pamiętałeś o włączeniu portów w ODPOWIEDNIM rejestrze APBENR? volatile nie ma nic wspólnego z AVR. Tego atrybutu używa się np. wtedy, kiedy zmienna modyfikowana przez obsługę przerwania jest testowana przez inny fragment kodu. Pokaż kod procedury przerwania, bo coś tam narozrabiałeś.
Witam, Bazuje na projekcie ze strony Freddie Chopin dla stma F4 z dodanymi bibliotekami STM32F4xx_StdPeriph_Driver. Zdefiniowałem sobie konfigurację timer'a w następujący sposób: [syntax=c]void Timers_Config(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI... ENABLE); NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptio...
Lepiej tak: void USART1_IRQHandler(void) { if (USART1->ISR & USART_ISR_TXE) { // jeśli zakończona wysyłka to coś... USART1->CR1 &= ~USART_CR1_TXEIE; // kasowanie flagi tak mi się wydaje że to to. } } A to jest źle każde przerwanie powinno wyglądać tak: [syntax=c] void XXXX_IRQHandler(void) { uint32_t isr; isr = XXX->ISR & XXX->IER; if( isr & flag)...
Ja bym raczej proponował się zdecydować czy chodzi o USART1 czy może USART2, bo dwóch na raz się raczej nie da używać z tym kodem... 4\/3!!
to mój kod. raz działa raz nie. Np ponowne uruchomienie Debugowania już go pogoni, a czasem nie da rady. wywala HardFault_Handler() lub inne. [syntax=c] /** ****************************************... * File Name : main.c * Date : 13/09/2014 10:34:06 * Description : Main program body ****************************************...
Prawdopodobnie nie włączyłeś przerwania odbioru danych w USART - bit RXNEIE w rejestrze CR1. A poza tym . oczekiwanie w procedurze obsługi przerwania to nie jest dobry pomysł, a właśnie to robisz. Masz poniżej tablicę do zainicjowania USART z przerwaniem odbioru w STM32F0 - adresy rejestrów i ich zawartości - wychodzi to sporo krócej niż przy użyciu...
Zacznijmy od końca: Nie wysyłaj znaków na okrągło w pętli, bo odbiornik nie będzie miał się jak zasynchronizować. Musisz zrobić jakąś przerwę od czasu do czasu. W procedurze wysyłania sprawdzaj bit TXE przed wysłaniem znaku. Po wysłaniu nie musisz nic sprawdzać. Tu masz działającą sekwencję inicjującą UART - adresy rejestrów i ich wartości: [syntax=c]//...
Rzeczywiście, pokrętnie to napisałem. Chodzi mi o taką komunikację: UART6 (na którym jest HC06 odbiera dane ze świata) <--> STM32F7 (który odebrane dane kopiuje do USART1) <--> Terminal w PC (który wyświetla te dane) I analogicznie w drugą stronę jeśli wysyłam coś z komputera aby HC06 to nadał w świat. Chodzi mi o to, że w moim kodzie mam...
Tabela wektorów jest w pliku startupu, dostarczanym przez ST. Z kolei definicje niektórych wektorów są w pliku stm32f0xx_it.c, również standardowym. Są tam konkretnie: NMI, HardFault, SVC, PendSV, SysTick oraz USART1.
Możliwe że pomieszane różne wersje bibliotek stdperiph_lib. Są one czasem wygodne żeby coś szybko raz ustawić bez dłubania w manualu, ale mocno 'zryte' i mocno niekompatybilne między wersjami. Włączenie alternatywnych funkcji wygląda mniej więcej tak: [syntax=c]GPIO_PinRemapConfig(GPIO_Remap... ENABLE);[/syntax] Można przejrzeć kod biblioteki szukając...
Ciekawe gdzie ty w tej tabeli widzisz który AF to ktore peryferia. NP że usart1 to port musi być wprowadzone w AF1 a nie W AF8 na czuja znalazłem że to AF1 ale równie dobrze mogło być to inne. Tak samo niema że speed 01 czy 10 to port ustawiony na ileś herców czy jakąś część zegara
Mam problem z inicjalizacją UARTA. Otóż kod działa na portach PA9,PA10 lub PC4,PC5. Jednak gdy zmieniam na PB6, PB7 komp nie otrzymuje danych wysyłanych przez płytkę. Może źle to robię, ale według specyfikacji to na te porty można wyprowadzić USART1, więc nie wiem o co chodzi, a jeszcze raczkuje w temacie STM32. [syntax=c]#ifndef _USART_C_ #define _USART_C_...
Wszystko się wyjaśniło... problemem była rzeczywiście dioda D2, która działa jak bezpiecznik. Mam metalową obudowę od komputera i to na niej kładłem płytkę. Zrobiło się zwarcie i cóż...:P Na szczęście wystarczyło wymienić diodkę i szafa gra. Wielkie dzięki za wcześniejszą sugestię z diodą, to bardzo przyspieszyło sprawę!:) Teraz mam problem z wysyłaniem...
Wg RM0091 (strona 629) m.in. bit RXFRQ w rejestrze RQR USART'u kasuje flagę przerwania. [syntax=c] USART1->RQR |= USART_RQR_RXFRQ; [/syntax] Flagi new_data nie chcę kasować póki co. Ważne żeby po opuszczeniu przerwania była ustawiona na true i żeby dioda się zapaliła. Wtedy będę rozbudowywać program i dodam kasowanie flagi zaraz po zapaleniu diody.
Witam, Gdy próbuje skonfigurować dwa USART i przerwania do nich powstaje konflikt. Wystarczy, że odłącze kabel od USART1 i wtedy wysłanie komendy do komputera wraca do normy. Definiowanie: [syntax=c]RCC_AHBPeriphClockCmd(RCC_AHBP... ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_US... ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO... ENABLE);...
Witam, mam problem z komunikacją z czujnikiem ciśnienia HP02S. Szukałem swojego problemu na forum, ale nie znalazłem. Udało mi się bez problemu odczytać dane z EEPROMu. Udało mi się też skomunikować z czujnikiem, ale do czasu. Sekwencja odczytu ciśnienia wygląda następująco (pseudokod): [syntax=c] i2c_start(); i2c_write(0xEE); i2c_write(0xFF); i2c_write(0xF0);...
Trochę zmieniłem kod i pomiar zaczął działać jednak jest coś nie tak gdyż dzielony wynik przez /58 powinien dać mi odległość w centymetrach. Mam obiekt ustawiony dokładnie na 15 cm ale wyniki uzyskuję następujące: 67 $ 67 $ 67 $ Co robię źle? [syntax=c]#include "main.h" #include "stdio.h" __IO uint16_t ADC1ConvertedVoltage = 0, calibration_value = 0;...
Witam, Mam jeden z dwóch często występujących problemów. Nie wiem czy to wina konstrukcji czy kodu. Z napięcia około ~12V mam zrobiony dzielnik napięcia (4K7 i 8K) tak, że na wyjściu mam około 2.44V. Po wgraniu kodu otrzymuje następujące wyniki: 2715 $ 2723 $ 2721 $ 2718 $ 2717 $ 2715 $ Jak widać, rozbieżność jest w granicy moich oczekiwań jak na rezystory...
Witam ponownie, Po sprawdzeniu stwierdzam, że inicjacja USB wszystko wiesza... Wziąłem dla pewności "surowy" przykład z ST, dodałem zwykłe miganie diody - Set,Reset GPIO + for jako delay - i tnie automatycznie diode. Nie chce się już z tym grzebać bo straciłem już na tą transmisje ponad miesiąc :/ Przerobiłem kod, dodałem obsługe USART i kod wygląda...
Hey mam mały problem. Muszę użyć eeprom do swojego projektu. Napisałem do niego funkcje i testowo chciałem zapisać i odczytać 10 danych odebranych po uarcie niestety wracają do mnie z pamięci jakieś herezje a nie dane i nie mogę znaleźć błędu. Inicjalizacja SPI: Dodano po 6 to co otrzymuje po uarcie: 01101100 01101100 01101100 01101100 01101100 01101100...
Witam serdecznie. Postanowiłem zmierzyć się z problemem obsługi czujnika temperatury DS18B20 na mikrokontrolerze STM32F407VG w środowisku Keil uVision 5. Napisałem kod w oparciu o UART w trybie Half Duplex. Wzorowałem się na dokumentacji czujnika ale niestety program nie działa tak jakbym tego chciał. Nie otrzymuję żadnej odpowiedzi ze strony czujnika,...
Tu jest fragment całego programu : [syntax=c]#include "stm32f0xx.h" #include "KS0108.h" #include "eeprom.h" #define PRZYCISK1_PORT GPIOF #define PRZYCISK1_PIN GPIO_Pin_4 #define PRZYCISK2_PORT GPIOF #define PRZYCISK2_PIN GPIO_Pin_5 #define STACYJKA_PORT GPIOA #define STACYJKA_PIN GPIO_Pin_2 #define LPG_PORT GPIOA #define LPG_PIN GPIO_Pin_3 #define PB_PORT...
A jaki masz ten chip dokładnie? Jaki ten ekran - R czy C? Kupiłem dokładnie to https://elty.pl/pl/p/Wyswietlacz-LCD-4%2... Panel musi być rezystancyjny skoro FT800 a nie FT801. Układ identyfikuje się jako 0800 0100 w rejestrze 0x0C0000 (nie miałem w #define, 4 bajtowy rejestr identyfikujący...
Kod: [syntax=c]/** ****************************************... * (at)file system_stm32f0xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 23-March-2012 * (at)brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File. * This file contains the system clock configuration for STM32F0xx...
Dzień dobry, mam proste pytanko, zaczyna zabawę z STM NUCLEO, korzystam z środowiska SW for STM32. Mam mrugania diodą ale nie działa wysyłanie danych na terminal, kodzik: Dodano po 6 Dodałem ustawienie pinów, kod z : http://elektronika327.blogspot.com/2015/... Dodano po 2 Dobra widzę że nie te piny inicjalizuje...
usart1 atmega128 stm32 usart1 stm32f103 usart1
pomiar częstotliwość xmega samsung telewizor włącza wyłącza reset programu amica
Volkswagen Polo: Gorący silnik, zimna chłodnica - przyczyny Tryby A i B na liczniku Yamaha Kodiak 400: Wyjaśnienie