关于一个stm32单片机debug问题

最近在做一个项目,需要用stm32单片机对一个十进制数变量进行编码,并保存在数组里面。我写了一个程序,对其进行了debug仿真,但是最终的变量始终不对,并且中间有一个变量始终为0,对此特来向各位论坛里的大神请教。关于仿真和程序结果见下图

图片说明这样吗

这是debug仿真图片
这是十进制数转换为二进制,保存在数组的程序块

你好,你的程序有有点看不懂。首先frequence 如果一直为0的话,result其实也是没有变化的。确定你是取低8位中第一位,还是要result的取第一位?因为result是int型,0x01只能取低8位的第一位。比如result为339的时候,pwn_table 得到的是 0x153 & 0x01 = 0x101. 会不会是这里有问题呢?

这个应该是软件问题,我也试过,但正常仿真也没什么出错

你是想把十进制转换成二进制吗,但while里的算法好像又不是实现这个的,还有第555行,要取最低位的话,应该用按位与&,你用的是逻辑与&&

并且把这个保存在数组里面

图片说明我改了一下,不知道是不是你想要的

这样写的话k的值会溢出的