欢迎光临散文网 会员登陆 & 注册

STM32入门教程-2023持续更新中

2023-07-28 11:50 作者:陈飞沙  | 我要投稿

GPIO的只能使用库函数读写位整体操作


推完输出 高低输出同 与stm32完全相同

开漏输出 仅仅输出低电平

(由上拉电阻得到高电平信号)输出关闭的结束


GPIO八种状态


输入:浮空 上拉 下拉:取决于默认电平而已

模拟



输出:开漏,推挽上述已讲解

服用输出


这个模式的输出决定了之后按键的结果,


下接按键:1.不加上拉,但是弄成上拉模式

2.加一个上拉电阻,用浮空模式或者上拉即可


上接按键:1.下拉模式不加电阻

2.直接加下拉电阻:下拉或者浮空


编译配置

第三种中强制枚举(万金油指令加action)










宏定义:

1.定义之#define ABC 12345

作用有 赋值 定义一个 带入文件


则应用宏定义:int a =ABC 即可

2.typedef unsigned char unit8——t

代表把左边变成了右边,

3.struct是

1.struct定义

2.元素赋值





一.led点亮7.27

7.2

思路是库函数 不是寄存器配置法


所以利用置位法和复位函数进行就好了


输入利用一个封装函数

输出力用一个封装函数

就可以同时定义两者了

键盘分两步:先是配置出事函数

再是返回KEY值

key是默然为零

中间是case的使用选择switch

返回



或者按键检测

设置返回值

key默认等于零

在判定是否松手,再赋值keynum

再返回

2.

readinput 加bit就是某一位,否则就是所有为

输出bit用来翻转取反



3.必须定义一个全局变量

4.LED——init()啥意思?

哦是一个直接调用的函数:就是个很简单的调用加上配置

(调用函数式配置加上调用)



5.

中断系统


GPIO口经过了输出之后经过引脚的译码器分配地址,再加上一些其他的usb等模块,构成了20个输出线路




一。时钟配置,把上述的寄存器全部配置,然后这个配置看下面的总线即可

二。gpio输出步骤

1.(1)输出结构体,(2)并定义其中mode,pin,speed,(3)并且初始化其中的外设

三.AFIO

输出引脚即可(因为前面结构包含在GPIO里面)

四.EXTI

1.调用exti声明

2.结构体的声明加exti命名

(1)line:中短线

(2)lincmd:使能数值

(3)mod:中断模式还是枚举模式

(4)trigger:边沿触发

3.初始化

五.nvic

2.结构体声明

(1.)nvic线输出

(2)使能

(3)优先级

(4)优先级

1.中断分组

3.初始化结构体

六:中断函数

(1)使用固定的exti15到10的中断函数

(2)检验是否是给定线

(if ==set)即可



6.总线

所有GPIO口都是挂在APB2总线上的

然后又好多个GPIO

每个GPIO都有16个引脚接口


定时器

1.选择六个函数配置外部函数

(1)开启时钟,

(2)内部时钟来源的选择

(3)定时器选择


2.实际单元永

(1)定义结构体:结构体函数+结构命名

(2)参数包括:(1)分频

(2)向上计数模式

(3)重装计数器f1

(4)预分频器发

(5)重复计数器的数值:高级计数器之外给0

(6)

3.中断输出

(1)更新中断

(2.enable)

4。nvid 永 nvic

(1优先级分组)

(2)结构命名+结构化

(3)参数化:

(4)舒适化参数体


5.运行控制 用tim cvid函数


启动定时器(tim2,enable);

6.中断函数

先定义一个void tmier (void)

{if(==set)

{执行

删除}

}

7.然后在h中声明一下第一句


另外复习下中断

:1.库函数调用,不过变量用external

一个手动计数器的值需要考虑


时钟:

系统时钟

定时器时钟

给予看门狗晶振



pwm的stm32的最终形态:

通用定时器:1.左侧进行比较:输出一个比较电平

比较电平是八种输出关系:

(1)匹配运算: ref分别置数 有效,制低电平,电平翻转(相对于上一次翻转,仅对于上升沿下降沿),冻结(等于上一个状态

),强制为低电平或者高电平

(2)pwm状态

2.剂型选择

3.使能输出

4.gpio输出通道










STM32入门教程-2023持续更新中的评论 (共 条)

分享到微博请遵守国家法律