[其他ST产品] 使用库函数编写程序

[复制链接]
 楼主| 范德萨发额 发表于 2024-1-31 23:43 | 显示全部楼层 |阅读模式
使用库函数编写程序,需要根据器件如OLED,要用到的设备如I2C。去看库函数对应提供些I2C方面的哪些库函数可以调用。接着去看懂库函数和用库函数些操作如OLED的函数,最后在main中调用

看别人总结的并不是最好的办法,还是要去看STM32中文参考手册。熟悉手册内容。根据手册内容猜测标准库函数的使用。

0、工程创建可能会使用到的keil操作
1189765ba6a993c5f4.png

 楼主| 范德萨发额 发表于 2024-1-31 23:43 | 显示全部楼层
 楼主| 范德萨发额 发表于 2024-1-31 23:43 | 显示全部楼层
 楼主| 范德萨发额 发表于 2024-1-31 23:44 | 显示全部楼层
启动配置

3091265ba6ae83006c.png
 楼主| 范德萨发额 发表于 2024-1-31 23:44 | 显示全部楼层
 楼主| 范德萨发额 发表于 2024-1-31 23:45 | 显示全部楼层
电源复位 9948465ba6afe31213.png
 楼主| 范德萨发额 发表于 2024-1-31 23:45 | 显示全部楼层
 楼主| 范德萨发额 发表于 2024-1-31 23:45 | 显示全部楼层
3、GPIO

typedef struct
{
    uint16_t GPIO_Pin;               /*!<指定要配置的GPIO引脚。此参数可以是@ref GPIO\u pins\u define的任何值*/
    GPIOSpeed_TypeDef GPIO_Speed;    /*!<指定选定接点的速度。此参数可以是@ref GPIOSpeed\u TypeDef的值*/
    GPIOMode_TypeDef GPIO_Mode;      /*!<指定选定管脚的工作模式。此参数可以是@ref GPIOMode\u TypeDef的值*/
}GPIO_InitTypeDef;
 楼主| 范德萨发额 发表于 2024-1-31 23:45 | 显示全部楼层
 楼主| 范德萨发额 发表于 2024-1-31 23:45 | 显示全部楼层
 楼主| 范德萨发额 发表于 2024-1-31 23:45 | 显示全部楼层
来源链接:https://www.zhihu.com/question/28512432/answer/41217074
要理解推挽输出,首先要理解好三极管(晶体管)的原理。下面这种三极管有三个端口,分别是基极(Base)、集电极(Collector)和发射极(Emitter)。下图是NPN型晶体管。 9706965ba6b3185d84.png
 楼主| 范德萨发额 发表于 2024-1-31 23:46 | 显示全部楼层
这种三极管是电流控制型元器件,注意关键词电流控制。意思就是说,只要基极B有输入(或输出)电流就可以对这个晶体管进行控制了。下面请允许我换一下概念,把基极B视为控制端,集电极C视为输入端,发射极E视为输出端。这里输入输出是指电流流动的方向。

805165ba6b3f319cc.png
 楼主| 范德萨发额 发表于 2024-1-31 23:46 | 显示全部楼层
当控制端有电流输入的时候,就会有电流从输入端进入并从输出端流出。

4974565ba6b4dcb894.png
 楼主| 范德萨发额 发表于 2024-1-31 23:46 | 显示全部楼层
而PNP管正好相反,当有电流从控制端流出时,就会有电流从输入端流到输出端。

7877465ba6b5bbc572.png
 楼主| 范德萨发额 发表于 2024-1-31 23:46 | 显示全部楼层
4、推挽电路- - 挽:拉,牵引

7257665ba6b694c4ec.png
 楼主| 范德萨发额 发表于 2024-1-31 23:47 | 显示全部楼层
上面的三极管是N型三极管,下面的三极管是P型三极管,请留意控制端、输入端和输出端。当Vin电压为V+时,上面的N型三极管控制端有电流输入,Q3导通,于是电流从上往下通过,提供电流给负载。
9937165ba6b7532437.png
 楼主| 范德萨发额 发表于 2024-1-31 23:47 | 显示全部楼层
经过上面的N型三极管提供电流给负载(Rload),这就叫「推」。当Vin电压为V-时,下面的三极管有电流流出,Q4导通,有电流从上往下流过。 7136865ba6b89a1050.png
 楼主| 范德萨发额 发表于 2024-1-31 23:47 | 显示全部楼层
经过下面的P型三极管提供电流给负载(Rload),这就叫「挽」。以上,这就是推挽(push-pull)电路。那么什么是开漏呢?这个在我答案一开头给出的「网上资料」里讲得很详细了,我这里也简单写一下。要理解开漏,可以先理解开集。
4764965ba6b985e3f2.png
 楼主| 范德萨发额 发表于 2024-1-31 23:47 | 显示全部楼层
如图,开集的意思,就是集电极C一端什么都不接,直接作为输出端口。如果要用这种电路带一个负载,比如一个LED,必须接一个上拉电阻,就像这样。
4368665ba6ba81ce61.png
 楼主| 范德萨发额 发表于 2024-1-31 23:48 | 显示全部楼层
当Vin没有电流,Q5断开时,LED亮。当Vin流入电流,Q5导通时,LED灭。开漏电路,就是把上图中的三极管换成场效应管(MOSFET)。N型场效应管各个端口的名称: 6705465ba6bb65720f.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

1011

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

60

主题

1011

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部