Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


if not executed, but true

Hi,

I want to execute this line in my code:

if (value_1 > 32767) value_1 -= 65536;

value_1 gets for excample an value of: 65540 (uint_16t) and
int16_t value_1 = 0; is like this decleared before getting the value.

why isnt it executed? Its true!
Thank you

France

Hi,

if you declare value_1 as uint16_t value_1; as your message implies, your code works as expected: the possible values for value_1 goes from -32768 to 32767, so can never be greater than 32767!...

In fact your code is useless: 16-bit twos-complement arithmetic implies that the values for value_1 wraps from 32767 to -32768 automatically as you are working in modulo 65536 arithmetic. Note that this also means that value_1 -= 32768; is in fact a No-Operation!

Hope this helps,

Bernard (Ac6)