
it seemed it is in the libraries, i'm not too sure if that is after all the issue. either way it builds just fine
wow a huge function, cross sku codes isn't easy

Code: Select all
void DMA1_Stream1_IRQHandler(void)
{
HAL_DMA_IRQHandler(AdcHandle.DMA_Handle);
}
Thank you, will try over a week.fpiSTM wrote: Thu Jan 16, 2020 5:31 pm @kvv213
Here an example of ADC and DMA usage:
viewtopic.php?f=41&t=110
Just my opinion:ag123 wrote: Wed Jan 08, 2020 11:22 am it seem that the loop need to be closed this way
found an article
https://community.st.com/s/question/0D5 ... rq-handler
it seemed something like define an irq handler....Code: Select all
void DMA1_Stream1_IRQHandler(void) { HAL_DMA_IRQHandler(AdcHandle.DMA_Handle); }
I expected flames, but that is OK, because I am right; not saying you are totally "wrong" but your viewpoints are myopic. I am retired from a Fortune 10 company. Our IT environment was massive, so our development environment was strict. Most of our software developers had Master Degrees and many had PhD's. In such a world, our hardware platforms were High Availability Virtual Machines with dynamic failover.kvv213 wrote: Sat Jan 18, 2020 7:46 am @mrburnette
Don't agree with your option, here are my thoughts:
...
At my current development I have to move from AVR platform (two different chips, not ATMEGA328) to STM32 (and here I had to switch to more advanced chip during development).
PS. Sorry for the flame![]()
Yes, but the core-files are unchanged... only the IDE and "build system" are altered.1. You can use Arduino not only with Arduino IDE. For example, I use it with PlatfromIO IDE joined with Visual Studio Code.
So you say. Once you depart from Arduino.cc manufactured hardware, are only playing with pseudo-Arduino hardware with software cores mimicking Arduino language commands and functions. Native hardware must be exposed in some manner; such as dropping into a non-Arduino lower level API. Bad practice as you are completely at the mercy of whomever wrote the "closer to the hardware code/driver/enabler."2. Working with a great number of hardware it is better to use a single framework instead of 10 different. For example, I work with AVR, ESP8266, ESP32, and now STM32.
I expect such statements, but it simply is not true unless you are taking some Arduino example code and using that as a starter for your project. Many Arduino users are not programmers (professional sense), rather they are "makers" who can program sufficiently well to incorporate sample code, sensor libraries, and display libraries into a final working project. To all of you reading who take this approach, rejoice since this is why the Arduino ecosystem was created many years ago.3. Arduino in terms of STM32 provides 10 times faster development than, again, for example CMSIS by ARM.
No, not all frameworks have errors. Most pseudo-frameworks (wrappers) impose limitations and "makers" may view this as an error; likely it matches the Arduino API and is just restrictive of what the native uC can accomplish.4. All frameworks has errors and limitations. And in such cases you need to dive deeper, for example, from Arduino to HAL, from HAL to CMSIS etc.
Arduino is an ecosystem. You talk about moving only the Arduino software functionality - the Arduino API.5. The higher level framework is the better it can be moved to another hardware. Arduino in that case is the best comparing to other options for STM32 (except, MBED).
This statement is simply incorrect ... if true, we would all be using BASIC.6. Arduino code is lighter for development and further supporting. The code is much easy reading and after a year or two after development is finished I don't need to break my brain trying to understand what exactly a concrete piece of code is doing.
Code: Select all
void setup();
void loop();
Code: Select all
void loop() {
task1();
task2();
task3();
}
Code: Select all
void loop() {
task1();
task2();
task3();
asm("wfi");
}