Walczę z komunikacją pomiędzy kilkoma #stm32 poprzez usart, stworzyłem taką magistralę jak na załączonym obrazku, jest jeden master i kilka modułów slave, master rozsyła komendy z ID, jeżeli układ slave stwierdzi, że wysłana komenda jest do niego, wysyła swoje dane, na raz może nadawać tylko jeden slave. Dodatkowo kiedy slave nie nadaje zmieniam tryb jego pinu z GPIOModeAFPP na GPIOModeINFLOATING i problem jest taki, że obserwuje
karololo - Walczę z komunikacją pomiędzy kilkoma #stm32 poprzez usart, stworzyłem tak...

źródło: comment_CMfvZuEEYlsoLCteclSFWuORlYxPu49W.jpg

Pobierz
@karololo: Mirku dlaczego tak? UART jest typowym interfejsem komunikacyjnym pomiędzy dwoma urządzeniami. Dlaczego nie i2c(na jednej płytce) albo RS485?

Posłuchaj co o takim podejściu mówi znany elektronik Mariusz Pudzianowski ( ͡° ͜ʖ ͡°)
QBA__ - @karololo: Mirku dlaczego tak? UART jest typowym interfejsem komunikacyjnym p...
#stm32 #stm #elektronika #programowanie #mikrokontrolery

Potrzebuję biblioteki do obsługi kart microSD na klocki stm32f4. Potrzebne mi to do pracbazowego projektu na przysłowiowy gwałt.
Forma biblioteki taka, że korzystam tylko z bibliotek standardowych (bez HAL i innych), obsługa jak najprostsza. Stawiam dobre piwo przesłane pocztą lub jeśli ktoś z #wroclaw to osobiście przywiozę ( ͡° ͜ʖ ͡°)
Zacząłem zabawę z modułami radiowymi nrf24L01, będę próbował się z nimi dogadać na stm32f1 i na początek mam pytanie, czy mogę wysyłać dane z 3 modułów do jednego modułu? W sensie, że w tym samym czasie, czy muszę robić tak, że master wysyła informacje do slave1, że chce otrzymać dane i slave1 mu je wysyła, potem wysyła informację do slave2, ten mu wysyła i tak dalej, czy mogę to jakoś jedcznocześnie słać
@karololo: To o czym mówisz to klasyczny problem wielodostępu ( ͡° ͜ʖ ͡°) Wydaje mi się, że odpytywanie przez mastera będzie optymalne. Tak to musiałbyś albo jakieś timesloty zrobić (co byłoby pewnie trochę trudne do ogarnięcia z retransmisjami które te moduły wspierają) albo wybrać jakiś protokół wielodostępu jak szczelinowy ALOHA lub inny.
Mam problem który z pozoru może się wydawać banalny i tak pewnie jest ale kompletnie nie wiem czemu dioda nie chce mi migać. Niżej wklejam kod:

#include "stm32l1xx.h"
#include "stm32l1xx_nucleo.h"

void delay(int time)
{
int i;
for (i = 0; i < time * 4000; i++) {}
}

int main(void)
{
GPIOInitTypeDef gpio;

RCC
AHBPeriphClockCmd(RCCAHBPeriphGPIOA, ENABLE);

GPIOStructInit(&gpio);
gpio.GPIO
Pin = GPIOPin5;
gpio.GPIOMode = GPIOMode
Tymczasem, w ramach kolejnych nudnych rzeczy, które popełniłem w ramach zabaw z #elektronika. Małe moduły zrobione na #stm32 a konkretniej F030. Uzupełnione o transciver RS485 i customowy protokół wymiany danych. Ot, zamiast ciągnięcia nie wiadomo ilu kabli do zewnętrznych czujników, wystarczą teraz 4 i standardowa skrętka. A przy okazji kontroler od oświetlenia dostał w końcu soft pozwalający na odbiór danych ze stacji #meteo (poziom oświetlenia na zewnątrz), przez co jeden czujnik
Kaworu - Tymczasem, w ramach kolejnych nudnych rzeczy, które popełniłem w ramach zaba...

źródło: comment_z7rvWkM2kYXMhWuO5zXq9umVa2Ld0qUz.jpg

Pobierz
@Jebwleb: To tu konkretne, to taka macka. Inne urządzenia na magistrali mogą zapytać te macki o jakieś nielokalne dane i coś w związku z tym robić. Obecnie zaimplementowane jako czujniki oświetlenia i interface do modułów PIR. Z których dane bierze sterownik na przykład oświetlenia.
@miszczo997: W Keilu jest kompilator c++ a ostatnio nawet clang. Inna bajka to czy bsp dla stm go wspiera. Sam cmsis jest kompatybilny ale zwykle biblioteki już nie. Jeżeli chcesz koniecznie używać c++ to zerknij na mbed. Jest wersja offline działającą z Keil i Eclipse.
#stm32, #elektronika, #jezykc, #programowanie
Cześć, n00b level over 9000 here, więc proszę o wyrozumiałość.

Piszę program, który ma w odpowiednim czasie ustawiać 1 lub 0 na wybranym pinie według określonej w postaci struktury sekwencji. Wykorzystuję do tego cztery kanały TIM1 skonfigurowane jako Output Compare. Licznik liczy z częstotliwością 20 kHz i jest resetowany co sekundę. Co każdą sekundę sekwencja ma się powtarzać. Niestety u mnie wykonuje się tylko raz
@Ramen: Nie, nie, zerknij na drugą pastę - ISR dla TIM2 wygląda tak:

void TIM2_IRQHandler()
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);

if (GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_15))
GPIO_ResetBits(GPIOA, GPIO_Pin_15);
else
{
// reset counter on TIM1
TIM_SetCounter(TIM1, 0);
GPIO_SetBits(GPIOA, GPIO_Pin_15);
}
}
}

Zegar licznika TIM2 liczy z częstotliwością 1000 Hz od 0 do 499 i co drugie przerwanie (czyli co sekundę) resetuje inny licznik - TIM1, z którego procedurą przerwania
Chciałbym mieć tanią i energooszczędną kamerę wifi (na baterie czy akumulatorową), ale te kupne są drogie i marnie jest z bezpieczeństwem.
Więc myślę o jakimś tanim module wifi, na którym stałby uClinux, który cały ruch pchałby przez powłokę ssh, chcę zrobić to jak najtaniej i dodam że od 1fps wystarczy.
Obraz ma być przesyłany na serwer domowy, więc karta SD zwisa.
#linux #kamery #elektronika #stm32
Sprzedam STM32F746G - Discovery z 4.3' LCD z pojemnościowym panelem dotykowym, USB host, USB device, slotem micro-SD, audio jack in + out, ethernet, złącze do kamerki, dwa mikrofony MEMS, zewnętrzny SDRAM i Flash, ST-LinkV2-1 z obsługą mbed, wyprowadzenia GPIO, przycisk, nawet dioda LED!
TYLKO TERAZ! Gratis wrzucony do pamięci mikrokontrolera mój projekt inżynierski, jedyna taka okazja! ( ͡° ͜ʖ ͡°)
A tak ogólnie to płytka mało używana, jedynie
@Paatryk93: no dobra żartowałem, tak naprawdę to robiłem urządzenie do pomiaru EKG, chociaż tak na dobrą sprawę płytka służyła mi głównie jako LCD i 12-bitowe ADC, jakiejś wyjątkowo specjalnej algorytmiki tam nie było, poza wyliczaniem chwilowego tętna. Najwięcej roboty było z torem analogowym - wzmacniacze, filtry, offset itd.
#arduino #stm32 #mikrokontrolery #pytanie #embedded #atmel

Mircy, mam takie zadanie:

Odpowiedzieć na pytanie (analizując dokumentację procesora oraz sprawdzając doświadczalnie) jaką najniższą częstotliwość przerwań może generować timer TC0?

Na podstawie czego mogę wnioskować jaką najniższą częstotliwość przerwań może generować ten timer?

Dokumentacja mikrokontrolera:
http://www.keil.com/dd/docs/datashts/atmel/at91sam7x128_256_ps.pdf
@Pan_wons liczniki są 16-bitowe, sprawdź maksymalny dzielnik dostępny dla TC0, sprawdź najniższą możliwą częstotliwość pracy zegara wejściowego. np dla zegara 16mhz i dzielnika równego jeden będziesz mial 16 000 000 (zegar) / 1 (dzielnik) / 65 536 (maskymalny zakres timera) ~= 244Hz.

sprawdź jeszcze czy TC0 nie ma jakichś ograniczeń w trybie generowania przerwań. ta nota która podałeś jest wstępna. Znajdź pełna dokumentację MCU i odszukaj instrukcje obsługi timerow.
Mirki chcę sobie zrobić urządzenie zasilane z baterii i uruchamiane za pomocą przycisku, tego samego przycisku chcę używać podczas działania urządzenia. Tak jak przycisk Power w smartfonach.

Wymyśliłem taki patent:

VBATT - źródło zasilania
IC3 - stabilizator LDO z linią EN(załączenie)
uC - mikrokontroler(rysunek uproszczony)

Chcę żeby było tak:

W stanie wyłączenia tranzystor PMOS(T1B) jest zamknięty(rezystor R8 podciąga jego bramkę do V
BATT), linia EN jest w stanie niskim(nie wiem czy
QBA_ - Mirki chcę sobie zrobić urządzenie zasilane z baterii i uruchamiane za pomocą ...

źródło: comment_xLRY1BC1lFKePmlTBPjOxmvxgP42GPdp.jpg

Pobierz
@QBA__: tego się tak nie robi. Nawet najgłupsze procesory można wprowadzać programowo w stan uśpienia (one wtedy pobierają jakieś nanoampery prądu jedynie) i wybudzać przyciskiem, który równocześnie w czasie normalnego działania procka ma inne zastosowania. Na STM32 się nie znam, ale jeśli da się to zrobić z atmelkiem, to i z STMem też powinno.
@Jarek_P:

Nawet najgłupsze procesory można wprowadzać programowo w stan uśpienia (one wtedy pobierają jakieś nanoampery prądu jedynie) i wybudzać przyciskiem, który równocześnie w czasie normalnego działania procka ma inne zastosowania.


Gdzie ja mam głowę - faktycznie, przecież po to są tryby uśpienia, a ja kombinuję... Tam będzie AVR, ale tagowałem też STM bo pod tym tagiem też siedzą ludzie ogarniający elektronikę.
W tym wynalazku mam zamiar dać podwójny wyświetlacz 7-segmentowy(da radę
#elektronika #stm32 #lutowanie Jedno pytanie bo popełniłem karygodny błąd i zakupiłem płytkę prototypową bez dokładnego ogarnięcia tematu ;] Nie lutowałem nigdy QFP ani żadnych takich małych mikroklocków. Mam dwa mikroklocki STM32F0 w LQFP64.

Zakupiłem coś takiego okazało się, że raster 0,8mm jest za duży w sumie mogłem to ogarnąć przed zakupem ale nie doczytałem oczywiście.

Czy jak kupię o taką to będzie ok? Raster 0,5mm. Wydaje mi się, że pod LQFP64 powinno
Mam np. #stm32 f401 i gdy chcę programować go normalnie przez swd to jak ustawić boot0 i nrst, zawsze boot0 daje przez rezystor 10k do masy, a nrst przez 10k do +3,3V, do programowania wtedy wystarczy tylko swclk, swdio i gnd, dobrze to robię, czy to zła praktyka? #elektronika
@MrDarkenRahl: Tak w sumie, zależy gdzie czytasz. Bo akurat jak o te przelotki pod padami chodzi to niektórzy mówią że nie (bo jak piszesz), a drudzy, że bardzo tak bo raz ze miejsce a dwa, że wzmacniają pady a w montażu nie będzie problemów. Zdecydujcie się. :D
@Kaworu: To już zależy od rozmiaru przelotki - twoje to na oko 0.6, więc przez nie łatwo może wypłynąć cyna. Za to przy mniejszych rozmiarach (<= 0.3mm) nie ma to aż tak dużego znaczenia, ale wtedy zaś i sama przelotka nie zajmuje dużo miejsca, więc i tak można dać ją obok.