STM32程序移植到STM8,大坑注意!

2019-07-18 20:21发布

STM8与STM32的内核不同,其大小端也不一样。将STM32的程序移植到STM8时如果程序中存在用于MODBUS的CRC16验证,一定要注意修改高8位和低8位的位置!
比如,STM32CRC16验证程序:
if(RecBuf[i-2]==HIBYTE(crc) && ucMbsBuf[i-1]==LOBYTE(crc))
在STM8下一定要更换大小端,更换结果为:
if(RecBuf[i-2]==LOBYTE(crc) && ucMbsBuf[i-1]==HIBYTE(crc))

妈蛋,一条语句的事情我调了一上午,简直坑死我了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-19 01:31
谢谢分享...
龙之谷
2楼-- · 2019-07-19 04:21
谢谢分享,keypoint--大小端~~~~~
geo
3楼-- · 2019-07-19 05:30
谢谢分享
jgh211
4楼-- · 2019-07-19 11:04
楼主你好!我想把STM8控制的模块移植到LPC型号单片机,移植的步骤大概是什么?
康仔呦
5楼-- · 2019-07-19 16:10
 精彩回答 2  元偷偷看……
lfywl
6楼-- · 2019-07-19 17:27
请问楼主,你是将stm32上的程序移植到stm8L上了还是stm8S上

一周热门 更多>