Тёмный
No video :(

Displaying analog voltage value on TouchGFX GUI using STM32F746G-DISCO kit. 

EE by Karl
Подписаться 1,4 тыс.
Просмотров 35 тыс.
50% 1

Опубликовано:

 

22 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 48   
@chaaalyy
@chaaalyy 4 года назад
WOW :) Your Videos about the 746 Disco, TouchGFX, Integration and last but not least the most important Part: How to connect to the "real World" ... THAT´s the Stuff, ST should have made , when they released their ecosystem ! Very well explained, absolutely no problem to understand, what´s going on and you save a LOT of Time for MANY people :) Thank you so much for that :)
@EEbyKarl
@EEbyKarl 4 года назад
You're welcome!
@crazyboy200x
@crazyboy200x 4 года назад
Thank you for this useful video, Karl. Your tutorial really helped me to get my Capstone project going, most definitely. I'm currently interfacing voltage, current, temperature, and relay sensors into my STM32F429-DiSCO board for the purpose of creating a monitoring system for a smart power supply. I have been able to display two tasks (temperature and humidity) concurrently on the LCD screen. Now, I'm trying to read and display voltages (3.3V, 5.0V, 12.0V, and 24.0V) and currents on the same screen. Hopefully, I will be able to pull it off with such a little time I have left near the end of the semester. Once again, thank you for sharing your knowledge.
@floalbaux8706
@floalbaux8706 3 года назад
I have a similar information monitoring project. How did you find the number of analog and digital pins available? I can't find this information that would allow me to choose my board.
@abdeldjalilettaharboucetta2238
@abdeldjalilettaharboucetta2238 2 года назад
hi can you share with me your project please?
@mehmetinci1510
@mehmetinci1510 4 года назад
Thank you very much. Very helpful and well explained.
@uguraltunbilek
@uguraltunbilek Месяц назад
thanx for this beatifuly share
@yusufalperklc1662
@yusufalperklc1662 4 года назад
Excellent hands on tutorial.
@chaaalyy
@chaaalyy 4 года назад
Just two small hints for "not so experienced" users (like me...) ;) at 21:15, when you place the code in Model::tick, one parameter should be changed... So the according line should look like " if (osSemaphoreWait(binarySemAnalogHandle, 0) == osOK) ". changing the "100" to "0" switches off the timeout, which causes a complex gui to slow down like hell ;) At 19:31, when you place the HAL_ADC_Start_DMA, you should cast the pointer to the expected type :) Otherwise you get a compiler warning, because the array has to be uint16_t and the HAL function expects a uint32_t* ... So just change the code to " HAL_ADC_Start_DMA(&hadc1, (uint32_t*) &uhADCxConvertedValue[0], 10); " and the warning is gone :)
@powerproton9139
@powerproton9139 4 года назад
yes. or. change uint16_t is unint32_t, and &uhADCxConvertedValue is uhADCxConvertedValue. waring is impossible
@powerproton9139
@powerproton9139 4 года назад
when i change uint16_t is unint32_t, and &uhADCxConvertedValue is uhADCxConvertedValue. waring is impossible but, value on lcd display not true. i change about author. value lcd display very good. exactly. difficult uint16_t and unint32_t. why ?
@chaaalyy
@chaaalyy 4 года назад
@@powerproton9139 As i wrote: The HAL_ADC_Start_DMA - function expects a POINTER type for a unsigned 32bit variable, so what you try to give it is the variable itself and not it´s adress, like expected. It would be als possible to declare the variable as uint32_t, but it´s an array and so you waste some bytes (10x32bit instead of 10x16bit) of stack, what can be painful later on, if you use FreeRTOS.... so just change the &uhADCxConvertedValue[0] in that HAL-function to (uint32_t*) &uhADCxConvertedValue[0] and everything is good :)
@powerproton9139
@powerproton9139 4 года назад
@@chaaalyy thanks
@romandunduk5832
@romandunduk5832 3 года назад
Great stuff, Karl. Thank you.
@eduardodelarosaferrer2205
@eduardodelarosaferrer2205 4 года назад
Great tutorial !!!
@CrizzyD91
@CrizzyD91 3 года назад
Hi, these are the best STM32 tutorials by far. I got the ADC working, but I don't fully understand everything that is going on in this tutorial. Outside of learning more FreeRTOS (which i'm doing right now), are there any good resources that you could recommend to help me understand more about how the touchgfx works? How to know what files do what and how to write code for them (for example, I'd have no idea about Model.cpp and Screen1Presenter.cpp, Screen1viewer etc). How have you managed to understand, what steps are needed? Thanks for any advice you could give. Thanks.
@edwin7543
@edwin7543 Год назад
It is working, thank you.
@danrudn
@danrudn 3 года назад
Link: support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/texts-and-fonts
@huguesbelmiro1854
@huguesbelmiro1854 3 года назад
Thank you my dude!
@EEbyKarl
@EEbyKarl 2 года назад
You bet!
@lebohangndungane1747
@lebohangndungane1747 2 года назад
Greetings Karl, awesome video! This is exactly what I intend to do for my final year project, however the implementation I am working with requires 4 ADC inputs. I have set the GUI up using TouchGFX and used Keil as my IDE to adjust the coding according to your video. My code compiles but all I get is a blank screen. What would change in this implementation if I am using more than one ADC input? Any assistance will be greatly appreciated.
@EEbyKarl
@EEbyKarl 2 года назад
Sounds like the external memory was not used. STM32CubeIDE has an option for the external loader. I don't know if Keil can do that?
@MultiPowerAid
@MultiPowerAid 9 месяцев назад
Hey, in terms of osSemaphoreRelease(...Handle) function, I understand that this functionality lock/unlock code access of the exectuted thread so that other threads do not have a potential acess to the updating value (of the ADC in this case). So this works like mutexes in terms of lock/unlock for pthread_create() in RTOS, am I understanding the use of osSemaphoreRelease in this sense, correctly?
@user-tw9wm3hi9h
@user-tw9wm3hi9h 8 месяцев назад
Hello. I would like to ask a question. How is that LCD fixed to the pcb? I checked the PCB file provided by STM, but I have no idea how it is fixed. I would appreciate it if you could tell me in detail how it is fixed to the PCB.
@EEbyKarl
@EEbyKarl 8 месяцев назад
With VHB?
@enzocoudreuse2887
@enzocoudreuse2887 3 года назад
Hello, I don't understand the utility of PollingRoutine whith nothing in it. Could you explain it ? Thanks for your video
@EEbyKarl
@EEbyKarl 3 года назад
It's not needed for this tutorial. But if you need to write code to be polled during a task, that is the main for loop for StartTaskAnalogInput task.
@alvisyah3126
@alvisyah3126 Год назад
Can you send all the link such as the library please
@niravbhatt2878
@niravbhatt2878 3 года назад
Hey, in this example where did u called the function Screen1View::analogUpdate??
@ttkoh123
@ttkoh123 4 года назад
Thanks but pretty wide loop on the semaphore concept.
@betulguncaldi4676
@betulguncaldi4676 3 года назад
Hi, thanks for videos. They are amazing. I have a question. I'm trying to save the text i entered from keyboard, on flash memory, how can i do? I'm new to Touchgfx. Could you help me? Thank you :)
@vovamzzuk
@vovamzzuk 4 года назад
hey. i have a little question. i'll do everything like you. But ide tell's me that textAreaADBuffer not declarated. Can someone help me?
@powerproton9139
@powerproton9139 4 года назад
hi. you use variable uint16_t uhADCxConvertedValue[10] and HAL_ADC_Start_DMA(&hadc1, &uhADCxConvertedValue, 10);. Program do not waring ?
@edwin7543
@edwin7543 Год назад
Hi, thanks for sharing touchGFX tutorial , I am new to touchgfx, and trying to display float value on TextArea , using following code is working w/o problem. Unicode::snprintf(textArea2Buffer, TEXTAREA1_SIZE, "%d", gTvalue); textArea2.invalidate(); But if I change with floating Unicode::snprintf(textArea4Buffer, TEXTAREA4_SIZE, "%3.1f", gTvalue); I get text -- %3.1f is there anything setting I missing? please advics, thank you.
@EEbyKarl
@EEbyKarl Год назад
Try using snprintfloat. support.touchgfx.com/4.20/docs/api/classes/classtouchgfx_1_1_unicode
@babursapayev188
@babursapayev188 4 года назад
Thanks Bro! how can i flash original firmware of the stm32f746 discovery board
@user-ne5vl2wj9p
@user-ne5vl2wj9p 4 года назад
It compiles well, but the ADC value is not updated on the LCD screen. For what reason is the ADC value not updated?
@JC-iq9gv
@JC-iq9gv 3 года назад
김상용 I am having the same problem. I can livewatch that uhADCxConvertedValue array values are continuously updated. I instrumented and discovered that Model::Tick is called only 2 times after start and that the callback of the ADC only once. If no callback, no semaphore and so no update of the value on the screen. I did not figure out yet why the callback does not occur. I used this tutorial starting from a blank project from TouchGFX 4.13 Designer then opened the .project file in CubeIDE 1.30.
@JC-iq9gv
@JC-iq9gv 3 года назад
Made it run by setting NVIC / DMA2 stream0 global interrupt Preemption Priority to 15 (lowest one). Was 0 before.
@usrrsr
@usrrsr 3 года назад
Create a video from scratch starting from cubemx touchgfx and the keil or cubeide with spi and fsmc display complete coding
Далее
STM32F429I-DISCO & TouchGFX Setup
10:47
Просмотров 10 тыс.
Automotive CAN, Sending & Receiving Data
8:54
Просмотров 7 тыс.
How to Update the TouchGFX GUI from other tasks
23:27