STM32 HAL brak obsługi float

Problem braku obsługi liczb zmiennoprzecinkowych spowodowany jest w eclipse lub innych środowiskach brakiem opcji linkera: -u_printf_float.
Project -> Properties -> C/C++Build -> Settings
następnie w oknie:
MCU GCC Linker ->Miscellaneous -> Linker flag
i na końcu dodać :
-u_printf_float

Odczytywanie zablokowanej partycji przez windows 8 lub windows 10 w linux

Sprawa popularna, związana z tym że w8 i w10 nie wyłączają systemów tylko się hibernują. W czasie gdy system zostaje uszkodzony nie jest możliwe poprawne wyłączenie, a przez to działanie na partycji z windowsem jest niemożliwe. Aby odczytać dane można posłużyć się linuxem i zamontować partycje w trybie do odczytu:
sprawdzamy jakie mamy dostępne partycje:
sudo fdisk -l   
tworzymy katalog do zamontowania partycji w systemie
sudo mkdir /media/windows
wybieramy partycje do zamontowania i katalog do zamontowania
mount -t ntfs-3g -o ro /dev/sda3 /media/windows
Dane powinny pojawić się w stworzonym przez nas katalogu.

Zmiana nazwy modułu Bluetooth z procesora SMT32

Niby proste a sprawia problemy – wysyłanie komend AT prosto z procesora. Po co? Aby nie było potrzeby dodatkowej konfiguracji modułów przez przejściówki UART. Należy pamiętać o znaku końca linii \r\n. Dla przykładu:

uint8_t name_sensor = 1;
snprintf(Data, 140,”AT+NAMEMODULNR%d\r\n\n”,name_sensor);
HAL_UART_Transmit_DMA(&huart1, Data, 140);
HAL_UART_Receive_DMA(&huart1, Received, 1);

Dobór modułu Bluetooth do aplikacji IoT i nie tylko

Jaki wybrać moduł bluetooth do urządzenia które projektujemy? Dziś sprawa jest nieco bardziej złożona niż kiedyś. Oprócz prędkości transmisji należy zwrócić uwagę na pobór mocy oraz dostępne tryby pracy modułu, oraz szyny transmisyjne z których chcemy korzystać.

Czytaj dalej Dobór modułu Bluetooth do aplikacji IoT i nie tylko

Precyzyjny regulowany zasilacz stabilizowany LT3080

Precyzyjny regulowany zasilacz stabilizowany został skonstruowany z nowoczesnych scalonych stabilizatorów. Dzięki szybkiej odpowiedzi impulsowej nadaje się do testów układów cyfrowych. Ułatwi też pracę w serwisie telefonów komórkowych oraz przy konstruowaniu układów małej mocy, gdzie szczególnie ważna jest precyzja i niski poziom zakłóceń. Artykuł opublikowany został w miesięczniku Elektronika Praktyczna Luty 2018.

Czytaj dalej Precyzyjny regulowany zasilacz stabilizowany LT3080

STM32 HAL – wysyłanie float przez bluetooth UART

Spotkałem się ostatnio z problemem wysłania zmiennej float przez bluetooth UART przy korzystaniu z bibliotek STM32 HAL, lecz udało mi się znaleźć na to proste lekarstwo:

float Temperature=23.3; 
uint8_t a=0;
uint8_t b=0;
uint8_t Data[40];

a = (int)Temperature;             //zamiana części całkowitej
b = (int)(Temperature*10) % 10;                 //zamiana części po przecinku
sprintf(Data, „Temperatura: %d.%d \r\n”, a,b);      // zamiana ciągu na tablice int
HAL_UART_Transmit_DMA(&huart1, Data, 40);    // Rozpoczecie nadawania