关于编译过程中出现的部分错误的解决方法——方波输出失败

本文主要讨论STM32F103RCT6在使用固件库时遇到的针脚初始化、仿真及方波输出问题。针脚未初始化可能导致仿真时默认低电平,需正确定义并初始化所有使用的针脚。同时,代码中定义多个针脚需使用按位或操作符,如GPIO_Pin_2|GPIO_Pin_10,以确保多个针脚的正确初始化。文中提供了相关链接作为参考教程。
摘要由CSDN通过智能技术生成


前言

承接上文:STM32F103RCT6学习笔记03——使用固件库与软件延时输出方波
出现的一些问题,在此篇作出理解。


一、针脚的初始化定义、调用、编辑问题

 关于针脚的初始化定义、调用、编辑,可访问以下链接进行查看,其较为直观,详细。
 链接:https://wenku.baidu.com/view/b627eb2b482fb4daa58d4b80.html

二、仿真问题

 仿真的方法教程可参考如下
 链接:https://blog.csdn.net/zoeli90/article/details/105754884

三、针脚输出方波问题

 注意针脚是否被初始调用,若未被定义,则会出现如下情况:
 只定义了GPIO_Pin_2,未被初始的针脚不会有反应,仿真时,默认低电平(实际在开发板中如未作任何定义,针脚默认高电平)

 此处仅仅定义GPIO_Pin_2

GPIO_Pin_2

 当监测其他未定义使用的针脚时:

未定义针脚

 比较定义与未定义的针脚输出情况:

比较

四、部分代码探讨(定义多个针脚的问题)

	GPIO_InitTStruct.GPIO_Pin = GPIO_Pin_2;
	GPIO_InitTStruct.GPIO_Pin = GPIO_Pin_10;

 当如上写法时,因重复定义,程序只会使用最后一行,即你只初始化了10号针脚。如下图展示。
GPIO_Pin_10

 若想定义多行,则需要如此调用、初始化——

GPIO_InitTStruct.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_10;

GPIO_Pin_2|GPIO_Pin_10


 具体内容,可结合往期文章一起观看:STM32F103RCT6学习笔记03——使用固件库与软件延时输出方波

注:此处用的延时为较为简单的软件延时。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值