03-七天物联网智能家居

本笔记为参加 《百问网-七天物联网智能家居》Day3 记录

1. 单片机时钟

计算机内部,时钟脉冲每产生一次,则工作一下。时钟的频率越高,CPU的执行效率约高。但是芯片设计时,时钟是有上限的(STM32上限为72MHz)

特点1:现代计算机系统中必定有时钟(时钟本质:同步)
特点2:高级的单片机系统中,存在不同频率的时钟(最优化)

2. STM32时钟树

STM32时钟树内部时钟:在芯片内部集成,无需额外的硬件,可直接使用,降低成本。但是精度较低
外部时钟:外部添加时钟源电路,精度较高。成本较高

低速时钟:一般用于RTC、看门狗等不需要很快速度的外设
高速时钟:为系统提供时钟

下图为STM32CubeMX配置HSE为外部时钟源 晶体/陶瓷谐振器
外部时钟源
时钟配置时钟配置使用内部时钟,最高能达到64MHz
使用外部时钟,最高能达到72MHz

STM32系统架构
STM32系统架构

3. STM32GPIO

  1. STM32F103C8T6一共有48个引脚
  2. 按A、B、C分组,每组16个引脚,编号为0~15
    STM32F103C8T6有2组GPIO,每组16个引脚,即32个GPIO引脚
  3. GPIO支持8中工作模式

    输出模式四种:推挽输出、开漏输出、复用推挽输出、复用开漏输出
    输入模式四种:上拉输入、下拉输入、浮空输入、模拟输入

GPIO工作模式
GPIO配置输出

4. 按键输入

按键原理图按键GPIO配置
main.c
按键延时

 while (1)
 {
   /* USER CODE END WHILE */

   /* USER CODE BEGIN 3 */
	if (0 == HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin))  //首先读一次
	{
	HAL_Delay(8);  //延时避开这段抖动
	if (0 == HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin)) //确定是低电平
	{ 
		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);  //亮灯
	}
	else
	{
		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
	}
}
 }
 /* USER CODE END 3 */
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值