这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【原创】关于STM32学习过程技术贴--from张楚晨

共1条 1/1 1 跳转至

【原创】关于STM32学习过程技术贴--from张楚晨

工程师
2023-12-20 21:58:41     打赏

关于STM32学习过程技术贴

学习STM32时,需要具备耐心、勤奋和持续学习的态度。当我学习stm32时,我经常会遇到关于硬件,软件,和调试方面的问题,以下是我的具体的问题和相应的解决办法

当遇到硬件问题时,这可能涉及到如接问题、电路板问题等。

如果电路连接不良,可能会导致引脚无法正常工作如果单片机的电源和地线接反会导致单片机无法正常工作,甚至损坏芯片将单片机的引脚接错也是常见的问题,比如将输入引脚接到了输出引脚上,或者将一个引脚同时接到多个功能模块上这会导致电路工作不正常,甚至导致短路或烧毁芯片外设的接口类型搞错SPI接口连接到I2C接口上,或者将GPIO接口连接到PWM接口上这会导致外设无法正常工作,甚至损坏设备未正确连接外设的供电电压3.3V的设备连接到5V的电源上,或者将5V的设备连接到3.3V的电源上未正确连接外设的地线将多个设备的地线都接到同一个地线上,或者将不同电压域的设备地线混接在一起当我们使用串口或USB进行连接时,需要确保线路是畅通的,并且正确连接了RX和TX线。合理读取引脚的电平状态STM32中通过GPIO_ReadInputDataBit()函数来判断引脚的高低电平。这个函数的原型为BitAction GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin),其中GPIO_Pin代表需要读取的引脚。

硬件调理的同时,也会遇到软件方面的问题这可能包括驱动编写、固件开发以及应用程序的编写。对来说,理解这些软件工具和框架如何协同工作是一个挑战。

在编写代码时,会漏掉变量未初始化可能会产生不可预测的结果,甚至导致程序崩溃数组越界在访问数组时,如果下标超出了数组的范围,就会产生越界错误代码的条件语句错误编写时很容易出现逻辑错误,例如将“与”运算符写成了“或”运算符,或者将“等于”写成了“大于”死循环。在编写程序时,如果没有正确的退出条件,程序就会一直运行下去,形成死循环,在编写程序时一定要确保有正确的退出条件在编写复杂的程序时,可能会涉及到多个任务同时执行的情况这时就需要设置任务的优先级,以确保重要的任务能够优先执行

当硬件和软件分别调试好之后,就需要进行一起的调试。在这一步的调试中我遇到了各种各样的问题。

比如驱动程序问题,如果硬件连接没有问题但仍然无法正常连接,可能是软件设置出了问题,这时候在设备管理器中查看是否有正确的驱动程序,如果没有,需要下载并安装正确的驱动程序。当还没有反应时,需要检查电路连接按照电路图检查安装的线路,根据电路连线,按照一定的顺序逐一检查安装好的线路。此外,也需要对照实际线路和原理图进行验证,确保实物线路与设计一致同时还可以使用万用表、示波器等工具对硬件进行硬件检测可以检测电压、电流、电阻等参数,或者检查信号的波形和频率等这可以帮助我来确定硬件是否存在问题,如是否损坏或接触不良。

工程编译完毕后可能会出现错误或者警告对于错误必须要改,但是对于警告而言,可以视具体情况决定是否修改虽然可以忽略警告,但如果可能的话,最好对警告进行修正,以提高代码质量。

在学习的时候,我遇到的问题硬件连接错误、代码逻辑问题等。当出现这些问题的时候,我首先要仔细 检查硬件连接是否正确,例如是否接触良好,引脚是否接错等。然后通过修改代码来尝试解决问题,例如优化算法,修复bug等。最后,通过调试程序来找出问题的根源并解决它。这些方法可能需要反复尝试,但只要坚持下去,就一定能够解决并克服遇到的问题。





关键词: MarsZ的嵌入式    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]