Napisz coś podobnego jak poniżej: [syntax=c] // zmienne globalne dostepne rowniez w przerwaniu volatile uint32_t PulseWidth; volatile uint8_t zakonczono_pomiar = 0; // obsluga przerwania TMR32B0 void TIMER32_0_IRQHandler(void) { static uint32_t LastCapture = 0; if ( LPC_TMR32B0->IR & (0x1<<4) ) // sprawdzenie czy przerwanie od kanalu zliczajacego...
Tuner o którym tu mowa kiedyś już opisywałem na forum: https://obrazki.elektroda.pl/7645194700_... Można też bardzo łatwo zmienić bootlogo w tym tunerze za pomocą konsoli UART: https://obrazki.elektroda.pl/8084879700_... Oczywiście obecnie w dobie DVB-T2 takie tunery nie są zbyt użyteczne. Można oczywiście nadal obejrzeć...
https://obrazki.elektroda.pl/4509007500_... Zapraszam na prezentację https://obrazki.elektroda.pl/1519670000_... Przygodę z APM32F003F6 pozwoli nam szybko rozpocząć płytka Mini Board. Oprócz głównego MCU z przydatnymi do uruchomienia elementami takimi jak rezonator kwarcowy, przycisk RESET oraz testowy, diody LED,...
Więc jesteś w stanie zbudować siebie... dobrze. Dodałem więcej debugowania printf w dwóch sekcjach kodu: https://obrazki.elektroda.pl/7518555700_... https://obrazki.elektroda.pl/7145039500_... Czy możesz skompilować najnowszą wersję aplikacji (aplikacja główna, ściągnij oba repozytoria) i wkleić swój dziennik? Oto mój...
https://obrazki.elektroda.pl/2718988000_... Witajcie moi drodzy W tym temacie pokażę jak każdy początkujący może najprościej uruchomić w warunkach amatorskich mikrokontroler PIC32MX795F512H bez potrzeby trawienia/kupowania pod niego konkretnego PCB. Oprócz minimalnego niezbędnego układu pracy tego mikrokontrolera umieszczę tutaj kilka...
Ok, to chyba nie będę na razie kombinował bo nie mam pojęcia o tych syscalls :P Spróbuję jutro odpalić Twoją funkcję printf ;] Jeśli chodzi o timer - to tak, wiem, że mogę to wszystko włączyć w jednej linii, ale tak jakoś z przyzwyczajenia zostawiłem samo enable na koniec, teraz to przerzucę ;]
Poprawiłem warunek, teraz czeka dopóki flaga == 0, jeśli 1 to wyświetla wynik z tym że działa dla P1.8 i CT16B1. Na P1.8 jest microswitch podciągnięty do VCC przez rezystor. Kod dla P3.3 i CTB160 dalej nie wchodzi do przerwania. jakiś pomysł ? To wrzuca na terminal dla P1.8 i CT16B1: Test Rozpoczynam pomiar Licznik=1728 Licznik2=1728 Przerwanie=1 I=0...
Temat poruszyłem już w inym wątku dotyczącego uC DS89C430/450, ale zdecydowałem się umieścić go w osobnym ze względu na to, że nie wszyscy pewnie są zainteresowani DS89C430/450, a i problem wydaje się bardziej "uniwersalny". ;-) Problem dotyczy funkcji printf i w zasadzie paru innych z biblioteki <stdio.h>. Mój program po zamknięciu w komentarze...
Witam! Tutaj szybsza wersja: [syntax=c]#include <stdio.h>/* tutaj funkcje we/wy printf i scanf */ #include <stdlib.h>/* tutaj funkcje losowe rand, srand */ #include <math.h>/* tutaj funkcje matematyczne sqrt, srand */ #include <time.h>/* tu funkcje i zmienne dotyczace czasu */ #define PI 3.1415 #define PRECYZJA 1000 /* Tutaj...
Racja Fredy, poza warunkiem nie powinno być flagi. Ustawienie volatile nie pomogło. Zamieszczam cały poprawiony kod: http://obrazki.elektroda.pl/6991735000_1... Brak mi pomysłów. Na terminal raczej bym nie stawiał. Funkcja printf jest standardowa i nie używa delay_ms. Teraz wygląda na to że timer nie dochodzi do 1 sekundy :( mumin_80
No i znowu jaja z tym DS89C430. ;-) Tym razem wziąłem się za przesyłanie danych przez RSa. Ze wspomnianej już strony: http://www.edw.com.pl/index.php?module=C... przekopiowałem sobie prosty program typu "Hello word". Mam problem z użyciem funkcji printf. Program po zamknięciu w komentarze wszystkich funkcji printf...
Przy _USE_LFN = 0 poprawnie listuje katalog, natomiast dla _USE_LFN = 1 ląduje w w HardFault_Handler. Mój kody wygląda następująco [syntax=c] #ifdef __USE_CMSIS #include "LPC17xx.h" #endif #include <cr_section_macros.h> #include "lpc17xx_systick.h" #include "lpc17xx_uart.h" #include "lpc17xx_pinsel.h" #include "diskio.h" #include "ff.h" #include...
Po dluzszej przerwie i irytacji wynikajacej z nieznajomosci C i keila znow wzialem sie za ten programik. Stwierdzilem ze odmierzanie czasu "na sztywno" i zczytywanie kolejnych bitow jest kiepskim rozwiazaniem i sprobowalem najpierw zmierzyc czas pomiedzy kolejnymi bitami a pozniej zczytywac w oparciu o ta wartosc. Nabazgralem programik, troche ogarnalem...
No niestety. Str912 jest straszny to mu trzeba przyznac(choc to nie oznacza ze nie dziala z jakis magicznych powodow, poprostu miewam z nim wszystkie ,mozliwe problemy, ale jak na razie dalo sie dojsc co jest ich przycyzna. Najsmieszniejsyz byl timer ktorego wlasciwie nie da sie uzyc poza paroma konkretnymi przypadkami:P). Faktycznie wszystkie rozmiary...
Witam, Mam do mikrokontrolera podłączony układ, który w wielkim uproszczeniu dostaje sygnał PWM z uC i zwraca go z pewnym przesunięciem fazy z powrotem . Chciałbym mierzyć to przesunięcie fazowe. W tym celu podaje do tego układu sygnał o częstotliwości 40 kHz z PWM, a sygnał wyjściowy układu dołączam do wejścia CAPTURE 0.0. W trakcie działania programu...
Tak powinien wyglądać plik Makefile: # Hey Emacs, this is a -*- makefile -*- #---------------------------------------... # WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al. # # Released to the Public Domain # # Additional material for this makefile was written by: # Peter Fleury # Tim Henigan...
Gumis-92: Proszę bardzo :) [syntax=c] #include "LPC11xx.h" #include "uart.h" #include <stdio.h> #define MIN_HALF_BIT 640 // 640 us #define HALF_BIT_TIME 889 // 889 us #define MAX_HALF_BIT 1140 // 1140 us #define MIN_FULL_BIT 1340 // 1340 us #define FULL_BIT_TIME 1778 // 1778 us #define MAX_FULL_BIT 2220 // 2220 us #define RC5_PORT LPC_GPIO3 #define...
poniżej kawałek kodu w C odczytujący dane z rs232 (niestety nie pamiętam skąd go wziąłem), do zapisu niestety nie mam przykładu ale to powinno cie naprowadzić na trop w google #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <stdlib.h> #include <strings.h>...
Co do Pana propozycji z poprzedniego postu: sugeruje Pan ze jesli wlaczam obsluge przerwan portu i ustawiam flage TI_0 zeby wyslac znaki przez putchara to program odrazu sie zapetli przez to i bedzie wykonywal ciagle przerwanie ? tak wyglada moj set_RS() void set_RS() { SCON1 = 0x50; /* SCON1: mode 1, 8-bit UART, enable rcvr */ TMOD...
#include <16f877.h> #fuses XT,NOWDT,NOPROTECT #use delay(clock=4000000) #use rs232(baud=2400,parity=N,xmit=PIN_C6... #use fast_io(a) #zero_ram #define one_min 1450 //no of counts to safely detect bit1 #define one_max 2200 //optimal (at)4 MHz is 1800 #define zero_min 600 //no of counts to safely detect bit0...
Witam, czy kolega fazolek mógłby wkleić pełny kod, którego użył do komunikacji? Męczę się z modułem MMnet już kilka dni i mimo wielu prób nie udało mi się uruchomić dwustronnej komunikacji przez RS232. Poprawnie działa odczyt danych przez moduł MMnet, transmisja danych do komputera nie działa. Wykorzystuję następujący kod: #include <sys/types.h>...
co jakis czas wkleje nowe informacje ale poki co wstawie troche i tych starych. mam na celu zebranie tu jak najwiekszej ilosci informacji o videotelefonie amstrad majacego w sobie ARM9 dzis chce przedstawic cos co juz wklejalem na forum ale w innym watku. jesli to nie problem to prosze moderatorow by nie obcinali dlugiego postu, kto wie moze komus przyda...
Wklej caly program. #include<pic.h> #include <stdio.h> long int GlobalTime, time; #define INTERVAL 20 #define HOURS 3600 #define MINUTES 60 #define SECONDS 1 void ConsoleInit() { SPEN=1; TRISC5=1; TRISC4=1; RCSTA = 0x90; TXSTA = 0x20; // 0 SPBRG=51; // 51 } // OBSLUGA PRZERWANIA static void interrupt get_ir_int(void)...
Problem ze zbyt wolnym zliczaniem skryptów wydaje się być związany z ESP. Działa dobrze na WB3S: https://obrazki.elektroda.pl/2327825600_... . Na ESP wzrost jest co kilka sekund: https://obrazki.elektroda.pl/4909929500_... . Wygląda na to, że czas delta tików skryptów jest nieprawidłowy: [syntax=c] void SVM_RunThreads(int...
błąd jaki zauważyłem to definicja "main" powinna być z dwoma argumentami, czyli "int main(int argc, char*argv[])". Wynika to z faktu, że biblioteka SDL2 podmieni ją na swoją. Dokładniej to SDL definiuje makro "main" jako "SDL_main" i jest to typ funkcyjny dwuargumentowy "int(*)(int,char**)". goto? Niektórzy tego nie lubią i uważają za zło. Jeżeli to...
Sprawdzałem jakie warowności przyjmuje flaga uip_flags PT_THREAD(handle_dhcp(void)&... { PT_BEGIN(&s.pt); /* try_again:*/ s.state = STATE_SENDING; s.ticks = CLOCK_SECOND; do { printf("Flafga przed discover - %d\n\r",uip_flags); send_discover(); printf("Flafga po discover- %d\n\r",uip_flags);...
W ciągu nie spełna miesiąca poznałem jak mrugać diodą, robić dokładne opóźnienia w wykorzystaniu timera, uart, przekierowanie printf na uart i ostatnio udało się z dalmierzem odległości HC-SR04. Zamówiłem w TME EA-XPR-019 to nie będzię trzeba programować przez uart. Jak ktoś w miare ogarnął avr to lpc1114 nie jest trudny. Zamykam temat
Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa 0 wszystko działa ok, ale statystyki lecą cały...
analogicznego uzywam i w innych programach... i dziala... no ale na innych procesorach :/... void Timer_Init() { OCR0 = 150; USART_Transmit('^'); TCCR0 = (1<<CS02)|(0<<CS... TIMSK |= OCIE0; } ISR(TIMER0_COMP_vect) { USART_Transmit('*'); OCR0 += 150; }...
if (ADC_old = ADC) { Kompilator nie ostrzega, że to prawdopodobnie działa nieprawidłowo? Mam wrażenie, że GCC ostrzega, jakiego używasz? Poza tym, czy to ma się wykonywać tylko wtedy, gdy nie ma żadnej zmiany? Zwykle szum produkuje jakieś niewielkie zmiany... Ja bym raczej myślał o konstrukcji typu: if (abs(ADC_old-ADC) < eps) {... a może raczej...
Cześć, Platforma: STM32F769I-DISCO OS: FreeRTOS Środowisko: System Workbench for STM32 Próbuję zaimplementować PTP na podanej platformie, jednak od dłuższego czasu męczę się z regularnie pojawiającym się Hard Faultem. Jak zdołałem wybadać, błąd pojawia się prawdopodobnie, gdy upłynie czas jednego z timerów programowych, które są tworzone. Tworzonych...
Czy to gdzieś w manualu powinienem szukać czy może w kodzie asm? Zrobiłem tez taki test że w main'e miałem: [syntax=c]AT91F_PIO_SetOutput(AT91C_BASE... AT91C_PIO_PC6); AT91F_PIO_ClearOutput(AT91C_BASE_PIOC, AT91C_PIO_PC6); licznik++; if(nHzTicker) { printf(licznik); }[/syntax] sam Timer szedł 1000Hz. Licznik naliczał zaledwie do około 279900, podczas...
BW12 RTL8710BX AT factory firmware BW12_AT_Command_Factory.bin tutaj po scaleniu PR: https://github.com/openshwprojects/Flash... nie udało się uruchomić RTL8710BX-BW12-original-2M z QH16A104GIP.bin żadnym narzędziem. Dodano po 6 i moje mapowanie adaptera ESP->BW12 https://obrazki.elektroda.pl/2790429400_...
A jak by było dla win32? Znalazłem coś takiego jak: #include <sys/time.h> #include <time.h> #include <iostream> //czasami "iostream.h" using namespace std; int main(){ timeval t; //zmienna z czasem gettimeofday(&t,NULL);//pobi... aktualny czas printf("sec:%dn",t.tv_...
Witam. Na platformie mbed aktualnie piszę program na Nucleo STM32F103RBT6, który ma za zadanie obsługę czujnika + wyświetlać wyniki na wyświetlaczu OLED. Wszystko odbywa się w pętli nieskończonej. Cały kod waży ok. 60kB. Dodatkowo za pomocą timera i przerwania co sekundę inkrementuję czas włączenia całego układu. Poniżej przedstawiam szablon mojego...
Nie wiem czy to jest w ogóle możliwe bo fprint musi mieć zdefiniowaną funkcję wysyłającą tekst po jednym znaku. Definiujesz pośredni bufor i do niego ładujesz pojedyncze znaki. Funkcja umieszczająca znaki powinna sprawdzać poziom zapełnienia bufora i uruchamiać/resetować timer. Jeśli bufor zacznie się zapełniać lub nastąpi timeout, bufor powinien zostać...
Witam ! Piszę program do sterownika oświetlenia, napotkałem się na następujący problem , oto kod : [syntax=c] #include <stdio.h> #include <stdlib.h> #define PIN_TRIAC (0) static struct { volatile enum States {ON,OFF} state; // stan wlaczony czy wylaczony volatile char pval; // wartosc mocy w % od 0 do 100 void (*TurnOn)(void); //wlacz void...
Ok. Istotne fragmenty kodu wyglądają następująco: my_adc.h [syntax=c] #ifndef _MY_ADC_H #define _MY_ADC_H #include <dev/adc.h> extern u_short readADCChannelLN(adc_channel_t adc_channel); extern u_short readADCChannel(adc_channel_t adc_channel); #endif [/syntax] my_adc.c [syntax=c] #include <sys/thread.h> #include <sys/timer.h> #include...
To bardzo dobre pytanie, ale jeszcze tego nie testowaliśmy. Ograniczenie musi znajdować się w BK SDK. Oto funkcja, której używamy: [syntax=c] /** (at)brief Configure the deep sleep to wakeup in both GPIO interrupt and timer * expiration. * (at)param g_gpio_index_map: Reference to the GPIO Index Map. If NULL, GPIO * deep sleep is not configured. * (at)param...
Przykład dla OS Linux (main.c). button.h button.c main.c [syntax=c]/* * main.c * * Created on: Oct 3, 2012 * Author: tymon_x */ #include "button.h" #include "signal.h" #include "string.h" #include "stdlib.h" #include "sys/time.h" #include "stdio.h" void timer_handler(int signum) { Button_sampling(); } /* Time := 1 ms */ #define USECREQ 100 static int...
Witam, Nie mogę spowodować , aby działała funkcja printf w programie napisamym w Coocoxie. Program się kompiluje, nie ma błedów, widać w terminalu napisy pochodzące od funkcji send_char, natomiast od printfa nie ma. Czy robię jakiś bład: [syntax=c]#include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_usart.h" #include "stm32f10x_rcc.h"...
kawałek kodu: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <stdlib.h> #include <strings.h> #define BAUDRATE B115200 #define MODEMDEVICE "/dev/ttyS0" #define _POSIX_SOURCE 1 #define FALSE 0 #define TRUE 1 volatile int STOP=FALSE; int...
Nie mam teraz kodu przed oczami ale mniej wiecej wyglada to tak w duzym skrocie, wszystkie ustawienia timera itd sa poprawnie zainicjowane: unsigned int timovf; SIGNAL (SIG_OVERFLOW0) { timovf++; } void initialize(void) { //ustawienia timera,przerwan,wlaczenie wszystkiego timovf = 0; } int main(void) { initialize(); for(;;) { if(timovf == 15) { timovf...
pc.printf wyswiela mi kazdy wynik na ekranie monitora przez usb, w programie tera term. Jak inaczej mam sprawdzic czy dziala filtr jesli nie widze jego wartosci ? sprbuje odpalić timer i policzyc wszystko jeszcze raz.
Ok czyli mam tak - niestety programu nie mogę uruchomić , w środowisku KEIL są zdefniowane stałe których w ac6 nie ma. Zmieniłem tryb pracy timera, teraz kod wygląda następująco: [syntax=c] int main(void) { UART2_INIT_PRINTF(); GPIO_InitTypeDef echo; // ustawienie pinu jako wejście ( PA8 - wejście timera 1 ch1 ), tryb alternatywny AF_TIM1 echo.GPIO_Pin...
Pomyśl, ile czasu zajmuje pomiar i jak często przetwornik chciałby wywołać przerwanie. Potem zastanów się, ile czasu zajmuje obsługa przerwania. Samo to nie jest może powodem błędu, który obserwujesz, ale z pewnością nie ma sensu i jest błędem koncepcyjnym projektu. Niezależnie od tego, w jakim trybie pracuje ADC, czytaj wynik w przerwaniu timera, np....
Po kilku godzinach program odpaliłem ..... podświetlanie się załącza dopiero po naciśnięciu kilka razy klawisza, monitor pokazuje start i numery naciśnietych klawiszy i to nie za każdym naciśnięciem. nie wiem jak "zatrzymać" dany ekran menu żeby zrealizować inna funkcje np; zmiana stanu wyjścia /* * sterownik który wykończy mnie i innych ..............
Faktycznie działa tak samo, ale problem pozostał. Nadal 1. kolumna jest przesunięta na koniec. Dodano po 34 Problem rozwiązany, wystarczyło dodać delay po zmianie stanu na porcie B. Niby 1 us ale wpływa na działanie programu. Najwidoczniej bez opóźnienia nim stan się ustabilizował to pętla przeszła już do następnej iteracji. Niby drobnostka, a zabrała...
Niby tak, ale obsługa 16 bitowych rejestrów ADC, albo 16 bitowego Timera to zawsze będzie więcej operacji na 8bit, tak samo jak przetworzenie tych wartości, w tym printf czy itoa. To samo dotyczy łańcuchów zaw. instrukcje sterujące urządzeniem przez UART. Zatem w przypadku maszyn 8 bitowych jest niemal pewne, że pokaźna część instrukcji to będzie obsługa...
Właśnie nie doczytałem z tym WEBIOPI i stąd moje pytanie. Nie musisz się bawić w żadne PHP, można tak skonfigurować serwer www że będzie używał plików w C (np instrukcje printf). Kwestia tylko jakiego serwera będziesz do tego używał, jeśli WEBIOPI nie wystarczy to pewnie nginx będzie w sam raz z powodu małych wymagań. Możesz też spróbować zwyczajnie...
stm32f printf printf stm32 printf double
niskie napięcie przetwornicy układ optyczny napęd optyczny bester amperomierz
peugeot wentylator peugeot wentylator
Ciśnienie poduszki powietrznej w hydroforze: jak ustawić? Firmware for Sharp LC-40UI7352E TV: Download and Update Guide