当前位置: 首页 > news >正文

互联网创业项目哪家好平台网站的哪些标签需要优化

互联网创业项目哪家好平台,网站的哪些标签需要优化,房地产销售述职报告,湖南省绿色建筑信息平台目录 初识STM32单片机 什么是单片机? STM系列单片机命名规则 STM32F103C8T6单片机简介 标准库与HAL库区别 通用输入输出端口GPIO 什么是GPIO? 定义 命名规则 内部框架图 推挽输出与开漏输出 如何点亮一颗LED灯 编程实现点灯 按键点亮LED灯…

目录

初识STM32单片机

什么是单片机?

STM系列单片机命名规则

STM32F103C8T6单片机简介

标准库与HAL库区别 

通用输入输出端口GPIO

什么是GPIO?

定义

命名规则

内部框架图

推挽输出与开漏输出

如何点亮一颗LED灯

编程实现点灯 

按键点亮LED灯(轮询法) 


初识STM32单片机

什么是单片机?

单片机(Single-Chip Microcomputer)是一种集成电路芯片,把具有数据处理能力的中央处
理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功
能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成
到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

STM系列单片机命名规则

ST -- 意法半导体
M -- Microelectronics 微电子
32 -- 总线宽度

STM32F103C8T6单片机简介

标准库与HAL库区别 

1. 寄存器
  • 寄存器众多,需要经常翻阅芯片手册,费时费力;
  • 更大灵活性,可以随心所欲达到自己的目的;
  • 深入理解单片机的运行原理,知其然更知其所以然。
2. 标准库
  • 将寄存器底层操作都封装起来,提供一整套接口(API)供开发者调用
  • 每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx…之类的;
  • 配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能;
  • 大大降低单片机开发难度,但是在不同芯片间不方便移植。
3. HAL
  • ST公司目前主力推的开发方式,新的芯片已经不再提供标准库;
  • 为了实现在不同芯片之间移植代码;
  • 为了兼容所有芯片,导致代码量庞大,执行效率低下。

通用输入输出端口GPIO

什么是GPIO

定义

GPIO通用输入输出端口的简称,简单来说就是STM32可控制的引脚STM32芯片的GPIO引脚与
外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
简单来说我们可以控制GPIO引脚的电平变化,达到我们的各种目的。

命名规则

组编号+引脚编号
组编号:GPIOA, GPIOB, GPIOC, GPIOD .. GPIOG
引脚编号:01234...15
组合起来:
PA0, PA1, PA2 .. PA15
PB0, PB1, PB2 .. PB15
PC0, PC1, PC2 .. PC15
...
有一些特殊功能的引脚是不能用作IO的。

内部框架图

下图来源于官方参考手册,了解即可。

推挽输出与开漏输出

内部结构图

 

 

推挽输出: 可以真正能真正的输出高电平和低电平
开漏输出: 开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完
成对外驱动

如何点亮一颗LED

标号一样的导线在物理上是连接在一起的。

 

PB8PB9拉低,就可以实现将对应的LED灯点亮。

编程实现点灯 

常用的GPIO HAL库函数:
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState
PinState);
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

结构体 GPIO_InitTypeDef 定义:

typedef struct
{
uint32_t Pin;
uint32_t Mode;
uint32_t Pull;
uint32_t Speed;
} GPIO_InitTypeDef;

按键点亮LED灯(轮询法) 

输入(按键):
  • KEY1PA0
  • KEY2PA1
输出(LED灯):
  • LED1PB8
  • LED2PB9
#define KEY_ON 0
#define KEY_OFF 1
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{if( HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == GPIO_PIN_RESET)
{
/* 按键按下 */return KEY_ON;
}
else
{
/* 按键松开 */while(HAL_GPIO_ReadPin(GPIOx, GPIO_Pin) == GPIO_PIN_RESET);return KEY_OFF;
}
}
while (1)
{/* USER CODE END WHILE */if(Key_Scan(GPIOA,GPIO_PIN_0) == KEY_ON)HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);if(Key_Scan(GPIOA,GPIO_PIN_1) == KEY_ON)HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);/* USER CODE BEGIN 3 */
}

http://www.yayakq.cn/news/9735/

相关文章:

  • 佛山新网站建设哪家好公众号绑定网站
  • 如何查看网站的空间大小重庆有哪些好玩的地方
  • 建站需要会哪些语言免费wap网站制作
  • 新手学做网站 电子书泰安百度做网站的
  • 企业网站制作正规公司专门做丝印反查的收费网站
  • 全屏网站帮助中小企业建立网站最经济的方式
  • 福永镇网站建设百度推广注册
  • 四川德阳做网站和app佛系汉化组.wordpress com
  • 重庆大渡口营销型网站建设公司哪家好手机网站设计标准
  • asp建设的网站校园兼职网站建设
  • 注册免费域名网站辽阳企业网站建设费用
  • 大连网站建设仟亿科技怎么开通微信小程序商店
  • 中国那个公司的网站做的最好网站分页符素材
  • 做外贸国外网站网站制作文案杭州
  • 视频网站主持人接app推广
  • 招聘网站上还要另外做简历吗下载莱芜都市网app
  • 网站建设推广 seo网站建设佰首选金手指十三
  • 网站表格边框怎么做微信网站建设
  • 新乡建站市场体系建设司在官方网站
  • 怎么把网站关联到万网wordpress 配置文件
  • 网站服务器空间不足深圳网站程序开发制作
  • 专做情侣装网站哪些网站做电商比较好
  • 大连网站设计 仟亿科技西安注册网络公司
  • 推广学校网站怎么做wordpress多榜单查询
  • 域名对网站有什么影响吗建网站代理商
  • 网站搭建制作免费建设网站的要点
  • 网站和做空间电子商务的网站的建设内容
  • 遵义网站制作百度云分享tp响应式网站开发
  • 宿州做网站的公司营销型网站推广方式的论文
  • 大连商城网站制作公司网店名字创意