问题描述:验证STM32的设备号读取是否正确(第一次操作难免不放心)
硬件环境:STM32F103ZET6芯片,CP2102
软件环境:MDK V5.26.2.0 串口助手SSCOM 3.3 Windows 7 32位 旗舰
通过刘凯老师的视频教程(刘凯老师视频中读取的起始地址应该是错了,如果刘凯老师能看到,可以在确认一下),学习了STM32芯片的设备号读取方法,同时自己编写了相应的程序来进行实操,但是再利用串口助手进行观察的时候发现现象如下是一堆乱码,(为了直观验证结果,省去了提示信息,并执行了一次程序)
出于对问题的考虑,怀疑自己读取的数值是否正确,试验了网上的一些方法,比如什么map指令啊,设置debug参数啥,结果都是无济于事,四处寻找无果之后还是自己研究吧,返回keil的软件界面发现在软件的右下角有一个Memory1的调试窗口,并有一个Address的输入窗口,便将STM32的ID存储地址输入了进去,发现能将很长一段的数据进行打印,个人感觉是这个芯片的ID,又出于好奇的点了一下右键,切换到ASCII显示方式,发现和自己读取的大体一致,这应该不是巧合,初步怀疑自己读取的正确了!
最后将两个显示切换到了十六进制显示模式,发现自己读取的数据,与对应的内存地址中的数据是一致的,至此,数据应该没问题了!
最后上网查了一下keil中的这个Memory1调试窗口的作用,发现这个窗口就是为了方便程序猿读取内存地址的,也是歪打正着,比较全面的关于Memory1调试窗口的作用链接如下:利用Memory窗口查看内存信息_Augusdi的博客-CSDN博客_memorychip显示了哪些东西
写在最后:嵌入式行业可谓是一个小坑连一个小坑,小坑后面是大坑,个人觉得需要抱着好奇心去学习,做好自己的每一个笔记,等把大部分的坑都过一遍也就算是有些经验了!
本文纯属小白自我学习的一点小总结,欢迎大神的斧正!!!