常见问题集
百度一下发现是因为重装系统后,电脑里存储的公钥丢失,需要重新生成并将 SSH 公钥添加到 Gitee 账户中,所以其实参考文章里面的步骤并不需要完全按顺序操作完,执行到第二步就可以了。电脑重装系统后,用vscode上传代码会跳git指纹验证的弹窗,点击选项后,弹出来另一个弹窗,不管点击是还是否,都会反复弹。参考文章:https://blog.csdn.net/cnzzs/article/detai
1.git指纹验证
电脑重装系统后,用vscode上传代码会跳git指纹验证的弹窗,点击选项后,弹出来另一个弹窗,不管点击是还是否,都会反复弹
百度一下发现是因为重装系统后,电脑里存储的公钥丢失,需要重新生成并将 SSH 公钥添加到 Gitee 账户中,所以其实参考文章里面的步骤并不需要完全按顺序操作完,执行到第二步就可以了。
参考文章:https://blog.csdn.net/cnzzs/article/details/144573423
2.keil调试无外设
keil调试的时候想看一下GPIO的输出值,但我的peripherals里面的system viewer里面什么也没有,应该是因为重装电脑之后,重新下载keil,导致之前的配置数据丢失,需要重新配置。
办法:Peripherals无外设寄存器:修改Debug选项中的Dialog DLL中的内容为DARMSTM.DLL,修改Parameter中的内容为-pSTM32F103VC。这里因为我建工程时选的MCU是STM32F103VC,所以改成这个。这个参数要和建工程时选的MCU一致。
参考文章:https://blog.csdn.net/u013072995/article/details/62238495
3.数组越界导致bug
发送命令使motor0转动,用500ms 的定时器让motor运行500ms后自动停止。motor0开始之后直接卡死,首先想到的就是定时器没初始化成功,遂加上创建成功的输出显示
定时器是创建成功了的,那还能是什么原因呢?
进debug调试,发现是进了断言错误,问题还是在定时器这里
这个时候有点一筹莫展,问了ai
看到错误根源分析,几乎瞬间我就有答案了,数组越界造成的,排除掉1和3,剩下的2就是真相。
在watch里,发现motor的值果然是不正常的
在.map里找了一下,上个值果然是个数组,至此,问题定位完毕,问题出在adc_buf上,adc_buf数组越界导致motor0的定时器地址异常,变为不可访问的地址,执行到motor0的定时器时,就会出现断言错误。
俩宏定义位置互换,问题解决
更多推荐
所有评论(0)