eric2013 发表于 2023-4-25 15:39:13

做了个LUA的32bit数据bit值为1的解析,效果不太高


CANFD的Rx Buffer有两个32bit NDAT寄存器,如果bit值为1就表示相应的偏移位置接收到CANFD帧数据了,总共可以接受64个CANFD帧数据。

for i=0,31, 1 do
      off = (FDCAN1_RxBufferNDAT1 & (1<<i) ) >> i
    if(off == 1) then
                RxCount = RxCount + 1
            RxBuffer = i
      end
end

for i=0,31, 1 do
      off = (FDCAN1_RxBufferNDAT2 & (1<<i) ) >> i
    if(off == 1) then
                RxCount = RxCount + 1
            RxBuffer = i + 31
      end
end


tovinz 发表于 2023-4-25 15:57:00

LUA可以直接移位吗

eric2013 发表于 2023-4-25 16:02:44

tovinz 发表于 2023-4-25 15:57
LUA可以直接移位吗

可以移位,跟C一样。

tovinz 发表于 2023-4-25 16:12:18

eric2013 发表于 2023-4-25 16:02
可以移位,跟C一样。

是的,5.3版本已经引入了,我用的版本太老了{:16:}

这个可以哎 常见面试算法题:统计一个Byte中的“1”的个数_判断一个字节有多少个1_lizhi_ma的博客-CSDN博客
data:image/png;base64,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dxoX4Quoty250pidQEQn7TOPfNNMIyr44AtWO2jIL2sJE26VpIJGEMNJUcrcZjyOuB/wlJ3JIO/XIQpIB3KDQEvr2ubwQogIkEJ6vypzDVQlEI2YvCXbQh8zbIgrXplVlxqpR2+shaVbjNbrLbVnoGTaikpuOeOiT264CEgI6DQkeIUYQvAhKLdu5B6bmlybyoQ1vvxJB6u5zmw5qnR8HV4ImgGMVs77XNlsjOx49CoeX6nK9zaqCStL8xTOLAwUZtVVn7Yuk1POdBRCwAcxFIEros6CrznPHH7I7bI62Qd5Qw8qoX4vps8JryA39Bg02NQmLVluyMuOs9VM7lZ0/Xa9Mg7AF4tme2WVeov+57Zen/QKEQhCQGnMrv351NBmG83Zl2fXrVs3+/LZeheEqLqmf75zdt3On89O17sgRHakPBtMr6Hpn8/uXLdudufPja+y6Z/vnF237uXZs/mv2fza1PtctlLD40tUmunZn+9cV7QuevbldUXOtbOzLxecr/JrldZxi++7rK3Ovrxu3ew6q4VTr9l162bXrds5a3JZUoO7aXZ2drbeATURERERERFRKW6udwGIiIiIiIiISsVgloiIiIiIiGyHwSwRERERERHZDoNZIiIiIiIish0Gs0RERERERGQ7DGaJiIiIiIjIdhjMEhERERERke0wmCUiIiIiIiLbYTBLREREREREtsNgloiIiIiIiGyHwSwRERERERHZDoNZIiIiIiIish0Gs0RERERERGQ7DGaJiIiIiIjIdhjMEhERERERke0wmCUiIiIiIiLbYTBLREREREREtsNgloiIiIiIiGyHwSwRERERERHZDoNZIiIiIiIish0Gs0RERERERGQ7DGaJiIiIiIjIdhjMEhERERERke0wmCUiIiIiIiLbYTBLREREREREtsNgloiIiIiIiGyHwSwRERERERHZDoNZIiIiIiIish0Gs0RERERERGQ7DGaJiIiIiIjIdhjMEhERERERke0wmCUiIiIiIiLbYTBLREREREREtsNgloiIiIiIiGyHwSwRERERERHZzpeqvcGP/vJZtTc5rzU1Lap3EYiIiIiIiBoOe2aJiIiIiIjIdhjMEhERERERke0wmCUiIiIiIiLbYTBLREREREREtsNgloiIiIiIiGyHwSwRERERERHZDoNZIiIiIiIish0Gs0RERERERGQ7DGaJiIiIiIjIdhjMzrGbcBNmZ4HZeheEiIiIiIjIxr5U7wI0ktnZWeAm4Kab6l0SIiIiIiIie2MwO0duwk0Ag1giIiIiIqKqYJrxHJllYjEREREREVHVMJglIiIiIiIi22EwS0RERERERLbDYLYupjHY8RMsbvoJekfqXZaFagz7tnZh31TQ7AoAACAASURBVFi9y1EnY3vRvXUvxutdDiIiIiKiGmngYPYG/pT8JU7+98MYOhrFOx/WuzzlSYYPYHHTMZyod0FqbLy/C91PH4Zk6d2XceRpERNOPza31bhg81VbFzqd5xC2/J0REREREdlLA85m/Cn++N7bOPfuNK5/Ua8yLEPP6I/RU6/dmxjv70J4QvOC048XXt4GV91KVLrx/j0YSa1B79G8ckuHsevZKFL5f9Ai4MjuNshBsPq3e9Ca/z7171sEvLD8GJ4bLtiShrqNMezbKmJC7y2Z/dbCCnS/LCC1VcRz/a4a7oeIiIiIqD4aL5j94B28eWEaX+BmfOXb34Pj2hkkr9a7UPOBGnTlBXLSYex77TJ2PbainoWzTjqM4xNAS59OMKpo6RvCrrbs+3c9K6K7Hziyuw3dO/2YeDaKcP8YWnMCwMs48tMoUliD3t1tcKENRx5Tfyd/d6lNe7HP6HuqaeBqpA27+sbQPSBi31hb9jMTERERES0AjZdmfPe3sHzJMqzu2IKOlm/itjndeXasrPzvAAaThe860fMTLO45DyRP4ZGm7Puz42vPo1d57f7d1wB8gK1N2u2WnnY83q8TyAKAa1tBIDve34Xurdl/u167nPN76bWdOuM15TGs2fdmx7TK71e3p/k76TB2Ka+HJwCkonhOs1+9tOPxoShSpaQXu7ZhcwuAlCRvy7UNvZucwMQxHNFufGwIIynzILnW5O9dbxys/F129+sMEG7rQqcTmPgZ042JiIiIaGFpvGAW34T3B+ux8o5b6rBvOb34+syPcf3Y3eZvPfA6Fq/+M3pm5Pf/un8p/m2LGvyuRljzOnA3jio/y/+24NGSyjWGsxMAWtqKBGpy0BRO+fHC0SEcOTqEIy/6geE9+oGUBRMDXXjuyhZ5W0f35o7zdG3DPmU/vS2QU57V/R4dwpGC9Gf5czjXtFaUFu16bAtakMLIT9UA8DKO/OwcUOcxuK2tawCcw9n8r3psDBNworNLr3Ar8NAaJ5B6G2cZzRIRERHRAtKAwaxdLMXe89mg1N3hwvdxDUmdntyKjY1hAkBLq3mkJr12TO691QaRRj2ZVjn9eCGTfqsGXlcKx7VaoQR1La0lpESP7UV4Amj5oTYwbsOuvjVAKorjY4D0moiRlBOdO+s8dritDS0AJsZzo9nx8XOAcy0eMiicq3UtnEghdaX2RSQiIiIimiuNN2bWLtpd+Ed3vQuhdRlnz6UA51o4837jal0L53BUDpZKjPYq7UXVkqauAFiO5iIbnBjoQveApgyb9haOJ23rQufPzmHkZzuRSqXg3LQX3ZUUdEJE91Yx5yWn2RhbXW3YvOkYJobHMA61F13pjd5k8j26XHACSE1dBtpsMvaZiIiIiKgIBrNUGqfLMGiyS7CUMwEUxrBv6x50n8uftXlFZjKoFNagt9IJsKo0AZTacHB2DGhtg9IbXYXyERERERHZDNOMCVi+HE4Upq+Wytlsx4AqN6U4h6sVLU5YGEs8h5QyqcdqfPzc/CofEREREdEcYTBrc+7mpQCuYaqSsbRq0DYxpjNTrkoZz6rzHmn8baSwBg+ZdTwq43LL5VxefCytq3k5gCuYKmuiIyecy8sr29xage4frlGOg5xiXGysMyQJKdi1sYGIiIiISB+DWbtzfxXfxzXsCZ+vYCNySq0T5xDOX/pFWWcWUGf5PYewduZi6TDCwyk4N3VlegfloFIz6+7YXnQPnKugfNltHs9bBihHWxtakMLEuMl7Coxh34D5BErzTlsbWnAOZ/vHMGFhhmW5scEuwToRERERkTUNOGb2N4gdfRtXc177DL97/TB+BwC4Dd/6Bz8euLMGu06ewiOrL+BNzUt7Vv8EewCg/T78enQDSp7zyb0Bvzj2Zyze8joWH3hdefFuHC11eR7XNuw72oojT+9BeGsXwurrTj9eeFnt0WvDrqPAvq25kxnljkEF0LYHL0ztxHOZiZbWoPfoXkw9vaf83ll1m8N70D2sLVvuLMQPtYgInxuH9NgKw7G9ehNAHan1mFOdCaDKH0erfM6Jc3Bu6ioygZYycVeLUNkEVkRERERE88xNs7Ozs9Xc4Ed/+ayam6sBvWBWq7RgtqlpUZXKRVUhHcauZ6NAyTMFL1Bje9E9cAWdL/6UwSwRERERLSgNGMxWF4PZ+We8vwvhCScDOIxh31YRE1WaSZmIiIiIaD7hmFlacFp370WnM4WRZ/eaTGi10F3GkadFTDj9eIGBLBEREREtQAxmaQFage6XBXmSpMpWG7KvsSGMpNagN2dMMRERERHRwsE04woxzZiIiIiIiGjusWeWiIiIiIiIbIfBLBEREREREdkOg1kiIiIiIiKyHQazREREREREZDsMZomIiIiIiMh2GMwSERERERGR7TCYJSIiIiIiItthMEtERERERES2w2CWiIiIiIiIbIfBLBEREREREdkOg9k6kl7bie6tXejeuhNHpHqXhoiIiIiIyD6+VO8C1MenuPLrs0i8/0dc/wIAbsbiu76DBx5qgeNv5qgIY3vx3DDQ+eIQul1ztE8iIiIiIqIFogF7Zj/EOyeGMX5JDWQB4Atcv5rEm//vL3FljkoxPn4OaNnCQJaIiIiIiKgMDdgzextuX3obvvL1e/HA/d/G1xYBn1+7iDd/8Q6ufvEBLiZvYLl7UY3LcBlTKQDOGu+GiIiIiIhogWrAntm/wbfX+dHxoBzIAsAtS1eh9Z47AAAzn1yrY9mIiIiIiIjIigYMZs3dcmtTvYtARERERERERTCYBQD8J373fz4CsBTOFV+ud2GIiIiIiIioCAazAGbe/xX+42Ng8bcfwn1L52CH0jgmUkBLa9sc7IyIiIiIiGjhacAJoHLNvH8aJ9/5I3DXWvxDy5213Zl0GLuejSLl9OOFo0PgRMZERERERETluWl2dna2mhv86C+fVXNzNXXtvZP4Xxf+BNy1FhvXfwe3lbGNpqYyZj5Wglpn3xB2sXOWiIiIiIioZA2aZvw5/jhxAr9QAtl/KjOQLZurFS1OYGJ8bC73SkREREREtGA0YJrxfyI9/gu8+fvPcKtjLTau+w44fzEREREREZG9NF4w++EFvPN7ORX6r+m3ceLo23lvuA3f+gc/Hqjx8FkiIiIiIiIqX4OmGRMREREREZGdNV7P7J0P4p+2PljnQqxAs7PORSAiIiIiIrIx9szWiXO5E5g4hiNSvUtCRERERERkPw29NE81lLU0j0J6bSeeG04BcKLzxZ+imwvPEhERERERWcJgtkKVBLNERERERERUHqYZExERERERke0wmCUiIiIiIiLbYTBLREREREREtsNgloiIiIiIiGyHwSwRERERERHZDoNZIiIiIiIish0Gs0RERERERGQ7DGaJiIiIiIjIdhjMEhERERERke0wmK2L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j/7yWTU3Nzcq6JltapqTVWptagz7toqYaBFwZHeRLldLm9uL7oEr6HzxpwxmiYiIiIgaHHtmASX9eFtNU4wbk7r8joh9Y8XfbW4M+wbOsVeWiIiIiIgAMJilGnM99lP0tgATAztxRCp3K5dx5GlRHlNbjR5eIiIiIiKyPQazVHOtu/ei05nCxPjl8jYwNoSR1Br0vrytyJhaIiIiIiJqFBwzWyGOmSUiIiIiIpp77JklIiIiIiIi22EwS0RERERERLbDYJaIiIiIiIhsh8EsERERERER2Q6DWSIiIiIiIrIdBrNERERERERkOwxmiYiIiIiIyHYYzBIREREREZHtMJglIiIiIiIi22EwW0fSazvRvbUL3Vt34ohU79IQERERERHZx5fqXYB6+O3pw/jfV/V+cxu+9Q9+PHDnHBRibC+eGwY6XxxCt2sO9kdERERERLSAsGe2TsbHzwEtWxjIEhERERERlaEhe2YBAIv/DusffRBfq8vOL2MqBcBZl50TERERERHZHntmiYiIiIiIyHYYzBIREREREZHtNG6a8fX3cfro+/L/33wrFn+tGX9/fwtcd9xS33IRERERERFRUeyZBYAv/orrV9/HudETeOfDOdifNI6JFNDS2jYHOyMiIiIiIlp4bpqdnZ2t5gY/+stn1dzcHPgcMx/9ARff+SV+86cvgCX/FT/4wf24zeJfNzUtsr4r6TB2PRtFyunHCy9vAycyJiIiIiIiKg97ZnELmu5wwrOhBXcBwOc3MFOrXbm2Yd/RIRzZCYS3dmHfWK12REREREREtLAxmFVd+4sSxN6Cmo+adbWixQlMjDOaJSIiIiIiKkfjTgCVcQPXpn+DxNtJfAJgyd9+B7fXu0hERERERERkqgGD2d8gdvRtXNX5za2OtfCt/sqcl4iIiIiIiIhK04DBbL6bceviO+FavRb3/u1Xap9iTERERERERBVrwGD2O/Bt/U6dy7ACzc46F4GIiIiIiMjGOAFUnTiXO4GJYzgi1bskRERERERE9sN1ZitU0jqzeaTXduK54RQAJzpf/Cm6ufAsERERERGRJQxmK1RJMEtERERERETlYZoxERERERER2Q6DWSIiIiIiIrIdBrNERERERERkOwxmiYiIiIiIyHYYzBIREREREZHtMJglIiIiIiIi22EwS0RERERERLbDYJaIiIiIiIhsh8Es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

tovinz 发表于 2023-4-25 16:12:24

eric2013 发表于 2023-4-25 16:02
可以移位,跟C一样。
是的,5.3版本已经引入了,我用的版本太老了{:16:}

这个可以哎 常见面试算法题:统计一个Byte中的“1”的个数_判断一个字节有多少个1_lizhi_ma的博客-CSDN博客

eric2013 发表于 2023-4-25 16:35:56

tovinz 发表于 2023-4-25 16:12
是的,5.3版本已经引入了,我用的版本太老了

这个可以哎 常见面试算法题:统计一个Byte中的“1 ...

这个有个算法的,我试试效率高不

计算32bit数据中1个数的算法hamming weight
https://www.armbbs.cn/forum.php?mod=viewthread&tid=95555&fromuid=58
(出处: 硬汉嵌入式论坛)
页: [1]
查看完整版本: 做了个LUA的32bit数据bit值为1的解析,效果不太高