Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

От къде описание на HAL_STM32 библоитеки.
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=18509
Страница 1 от 2

Автор:  RM [ Пет Авг 26, 2022 6:59 pm ]
Заглавие:  От къде описание на HAL_STM32 библоитеки.

Трябва ми описание на библиотеките генерирани STM32Cube ... Като обикновен HELP вид. Днес започнах да пиша една проста мигалка с KEIL.
И не можах да се сетя как е Delay ... търся в хелпа на KEIL няма- по разбираеми причини. Търся в STM32Cube - там има само pdf-и.
От къде да намеря нещо ofline от вида- https://www.disca.upv.es/aperles/arm_cortex_m3/llibre/st/STM32F439xx_User_Manual/stm32f4xx__hal_8h.html
Само да не е pdf, не е удобно.

Автор:  stefan63 [ Нед Авг 28, 2022 8:27 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Едва ли има такова нещо, като хелп за stm32cube.
За delay - ако е за микросекунди, базирано на лууп - с две три проби сам ще си го напишеш...ако е за милискунди , има си сис-тик, с три реда ще си напишеш функция.

Автор:  syscop [ Нед Авг 28, 2022 8:41 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Търсиш в сорсовете HAL_Delay и четеш. Има коментари и става ясно за какво иде реч. Ако чак толкова искаш да имаш само документация няма да е сложно да извадиш всяка функция заедно с коментара(скрипт някакъв) и да ги организираш както искаш.

Автор:  RM [ Нед Авг 28, 2022 9:43 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Ако се сетя че е HAL_Delay ... няма да я търся

Автор:  syscop [ Нед Авг 28, 2022 9:57 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Имах точно същия случай, за същата функция и търсих само delay(в сорсовете)... и се получи :)

Автор:  MYXATA [ Пон Авг 29, 2022 2:47 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Из аз си мисля че ако търсиш в сорсовете на библиотеките , информацията ще е по-меродавна , защото документацияте се пише от хора , парсващи сорсолята, или пишещи с тагове за ауто-документиране, но така или иначе внасят грешки...

Автор:  TheWizard [ Пон Авг 29, 2022 3:08 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

директен delay мисля че нямаше

Код:
static void Delay(unsigned int ms)
{
    uint32_t start = getCurrentMillis();
    do
    {
        asm("nop");
    } while (getCurrentMillis() - start < ms); // от clock.c
}

void delayMicroseconds(unsigned int us)
{
    if (us)
    {
        uint32_t begin = getCurrentMicros();
        while ((begin - getCurrentMicros()) < us) // пак от там
        {
        }
    }
}

Автор:  Реконструктор [ Вто Авг 30, 2022 11:54 am ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Това горното е неточно, надявам се е ясно. :) И спокойно може да се махне asm("nop");

Автор:  Barnie [ Вто Авг 30, 2022 4:16 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Ето това може да ти свърши работа - само трябва да се управя всеки път честотата "cristal="

delay.h

Код:
/******************************************************************************/
/*                      delay.h:                                              */
/******************************************************************************/
/*              edition this &                                                */
/******************************************************************************/

#ifndef _DELAY_INCLUDED_
#define _DELAY_INCLUDED_

//presentation variable

/********************************************************************************/
unsigned long crystal=100000000; // frequecy of MCU - for other crystal change
/********************************************************************************/

unsigned long x;
unsigned long y;

//presentation subs ( we have three sub 1- delay_us 2- delay_ms 3- delay_s

void delay_us(unsigned long a);
void delay_ms(unsigned long b);
void delay_s(unsigned long c);

/******************************************************************************/
// sub delay_us
/******************************************************************************/
void delay_us(unsigned long a){
do{
unsigned long d=0;
x=crystal/50000000;    //
for (d=0;d<x;d++);    //start the VALUE off d is 0 ,  increase  d ,
//if d > x goto next line ,else (d<x) increase d
y++;   // increase y
} while(y<a);  //if y > a goto next line ,else (y<a) goto "do{"
y=0;
}

//in mine program , you write "delay_s(4);" . in this Header "a" is 4 & do-while
//loop repeat 4 ---time = (x*5)/ crystal

/******************************************************************************/
// sub delay_ms
/******************************************************************************/
void delay_ms(unsigned long b){
do{
unsigned long e=0;
x=crystal/5000;   
for (e=0;e<x;e++);
y++;
} while(y<b);
y=0;
}
/******************************************************************************/
// sub delay_s
/******************************************************************************/
void delay_s(unsigned long c){
do{
unsigned long f=0;
x=crystal/5;
for (f=0;f<x;f++);
y++;
} while(y<c);
y=0;
}
#endif

Автор:  RM [ Пон Сеп 26, 2022 2:18 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Да не цвъкам повече теми да питам нещо друго:
Принтвам на един 2.8 дисплей едни температури със запетайки
кирилицата си ми е OK. KEIL съм минал на win1251
Имам проблем такъв:
Като отлепя %.3f от равното със шпация, и се шашка, а и аз също.
sprintf(data_T,"Температура =%.3f 'C ",temp); //Работи ОК
sprintf(data_T,"Температура = %.3f 'C ",temp);// не работи

Автор:  ДедоБоре [ Пон Сеп 26, 2022 2:30 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

колко е голям data_T?
друга причина не виждам. пък и 'не работи' е малко непълно.

Код:
int main(void) {
float temp=4532.1;
    printf("Темп = %.3f°C\n",temp);
}

Темп = 4532.100°C

Автор:  RM [ Пон Сеп 26, 2022 6:18 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Добре де :o :o :o - ДедоБоре как се сети ??? 8O 8O 8O
Кода е пред мен, даже аз съм го писал . Даже си написах драйверите за AHT10 датчика за температура и влажност . Дал съм дължина на масива 30 ... изчислих паузите отзад да не ми остава последния символ да виси като намалее разряда на десетиците. Напудрих го ... и си рекох да отдалеча първите цифри от равното с една пауза ...
И съм забравил, че като допълня елемент да пипна и дължината на масива . И настана едночасово ровене в кода едно дебъгване . А ми гърми тихо, без грешки и предупреждения.
Благодаря ти.

Автор:  ToHu [ Пон Сеп 26, 2022 6:58 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Ами според мен типичен проблем който рядко виждаш в собственият си код, не и преди няколко пъти да се почешеш навсякъде където не те сърби.
Аз понеже знам че правя такива простотии често, гледам да оставям масивите по-големи, естествено с малките въшки това не е много удачен подход ама като вземе да свършва РАМ първо си проверявам масивите дали някъде не съм оставил някой ненужно голям.

Автор:  syscop [ Пон Сеп 26, 2022 8:56 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

RM написа:
...Дал съм дължина на масива 30 ...

Имаш си дължина буфера => използвай snprintf :)

Автор:  RM [ Пон Окт 03, 2022 7:01 pm ]
Заглавие:  Re: От къде описание на HAL_STM32 библоитеки.

Имам един модул RTC с DS3231
Същия като този (https://circuitdigest.com/microcontroller-projects/interfacing-ds3231-rtc-with-arduino-and-diy-digital-clock )
Но не ползвам среда ардуино или как там беше, ползвам KEIL.
Управлението е лесно и работи без проблем , сложих батерийка 3,1V -използвана . Когато работи на захранване всичко е ОК. Сутринта изключих платката и сега след 7-8 часа времето беше изостанало с повече от час и половина , датата беше добре - батерийката пак беше 3,1V. Някога съм работил с някакъв PCFххххх чип на филипс и не помня да съм имал каквито и да са проблеми. Нямам си на идея какво да търся. Пишат по форумите че модула има проблем с резистора и диода които би трябвало да изпълняват зареждането ... но захранването ми е 3,3V и по никакъв начин няма да зареди батерийката , и не виждам как обратния диод ще пречи на работата и. Премерих всички изводи към минус, и никъде освен на 14 краче нямаше напрежение.

Прикачени файлове:
platka.jpg
platka.jpg [ 121.8 KiB | Прегледано 3098 пъти ]

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/