一,前言
二,需求
三,遇到的问题
-
字符串转十进制简单的方法,只要分这3类即可
unsigned char hexFile::ASCII_TO_DEC(char data){
if ('0' <= data&&data <= '9')
return data - '0';
else if ('A' <= daa&&data <= 'F')
return data - 'A' + 10;
else if ('a' <= data&&data <= 'f')
return data - 'a' + 10;
else
return 0;}
传递指针问题
我原来设计在函数内部分配数据空间,但是释放空间则在调用的类中,所以调用的类中需要传入空间地址。结果跑飞了。原来我搞错了,就是一个指针赋值,所有指针必须指向有地址空间的指针才是有效赋值。后来做了如下测试代码,才发现的问题。最后解决方法是把释放空间也打包在被调用的类中了。
char *bindat=NULL;
void intHexToBin(char* data)
{
bindat=data; //这是一段会跑飞的代码,因为bindat指向了NULL
bindat = (char *)malloc(8);
bindat[0]=1;
bindat[1]=2;
}
int main()
{
char * testval=NULL;
intHexToBin(testval);
printf("%d,%dn",testval[0],testval[1]);
return 0;
}
四,效果
image.png 五,小结
上位机暂时补充完成了,接着要把整个系统中的自定义booloader先要改成标准uds协议了。
作者:applecai
链接:https://www.jianshu.com/p/534ca2379b08
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。原文始发于微信公众号(汇编语言):44.QT boot工具添加hex解析--Apple的学习笔记
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论