STM32

(以下操作环境为Keil5和proteus8.9)

八种输入输出模式及他们的工作模式

分析如下

总线:总线提供了数据在不同组件(如处理器、内存、输入输出设备等)之间传输的路径,使数据能够快速、准确地在系统内流动。

输出控制内内置一个"非"器,GPIO或其他外部设备输入0,经过输出控制,由VDD输出给外部,为1.

模拟信号:由输入电压与3.3的比值,算出传感器感官占比,再判断是否达到触发值。

(存储器基地址在此处查找)

(偏移地址在此处查找)

端口配置位:0~7-----端口配置低寄存器

8~15------端口配置高寄存器

单片机入门:点亮一个led邓并闪烁

左上角创建project和main.c文件:

代码解释:

前三行定义了宏(系统自带,也直接调用其函数)以及基地址和偏移地址,用以存储器与外设的匹配(操作地址=操作内存空间=操作存储器)

RCC是系统复位和时钟控制的缩写(reset and clock control),APB2 是外设时钟使能寄存器(RCC_APB2ENR),默认为不工作状态,通过设置这个寄存器,可以开启或关闭某个外设的时钟供应,从而有效地控制外设的工作状态。当使能某个外设的时钟时,该外设可以正常工作,进行数据传输、处理等操作;当禁止时钟时,外设处于低功耗状态,减少系统的功耗消耗。

将"1"左移2位,IO端口A时钟使能 (I/O port A clock enable)

由软件置'1'或清'0'

0:IO端口A时钟关闭;

1:IO端口A时钟开启

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器

(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存

器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。以上我们选择的是通用输入模式。

proteus仿真:

步骤:

打开proteus后点击左边方框内的P键,选择器件STM32F103c6和led灯(可选多种其他颜色)--->点击左边方框后图标选择"power"(接地线),依次连接起来

proteus内导入:右击选择编辑内容后选择编辑文件---Keil文件

点击左下角的绿色运行键后灯泡亮并闪烁

相关推荐
Groundwork Explorer5 小时前
W5500 网卡编程初始化与使用指南
python·单片机
单片机仿真设计5 小时前
【proteus仿真】基于 STM32 的智能垃圾桶设计(仿真图+程序)
c语言·stm32·stm32单片机·proteus·毕设·仿真
智闲电子设计6 小时前
STM32 SD 卡 + FatFS 实战:掉电丢数据?f_sync 和簇对齐写救你
stm32·单片机·嵌入式硬件
ヾChen8 小时前
ESP32 OTA 踩坑实录
stm32·单片机·嵌入式硬件·物联网·学习
DevHub8 小时前
probe-rs 教程:一行命令替代 OpenOCD 烧写调试 Cortex-M
arm开发·嵌入式硬件·mcu·rust
小僧景贤8 小时前
嵌入式ADC高阶深度解析:基于STM32底层原理、误差溯源、硬件调校与工业级落地
单片机·嵌入式硬件·stm32 adc·工业级高精度采集·adc 误差校准·量产固件开发
黑猫学长呀9 小时前
【驱动开发常见问题】编译出现rm: cannot remove `asm/arch‘: Is a directory
驱动开发·单片机·嵌入式硬件·bug·编译报错·kernrl
雨田言炎9 小时前
STM32专题之内部FLASH详解
笔记·stm32·单片机
Be for thing11 小时前
【嵌入式成长10】STC89C51蜂鸣器|有源/无源蜂鸣器区分、三极管驱动、定时器播放音乐实战
单片机·嵌入式硬件·学习
郎哥编程课堂12 小时前
单片机零基础训练营第2天:嵌入式开发常用的三种进制
单片机·嵌入式硬件