| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32F103寄存器代码详解及例子 -> 正文阅读 |
|
[嵌入式]STM32F103寄存器代码详解及例子 |
创建文件输出模式(推挽/开漏)在输出模式中,推挽模式时双MOS管以轮流方式工作,输出数据寄存器GPIOx_ODR可控制I/O输出高低电平。 什么叫推挽输出?1、可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由 什么叫开漏输出?1、只能输出低电平,不能输出高电平。 开漏输出一般应用在I2C、SMBUS通讯等需要“线与”功能的总线电路中。 模拟输入输出当 GPIO 引脚用于 ADC 采集电压的输入通道时,用作“模拟输入”功能,此时信号是 代码清单:点亮LED-1 GPIO 8种工作模式
在固件库中,GPIO总共有8种细分的工作模式,稍加整理可以大致归类为以下三类: 输入模式(模拟/浮空/上拉/下拉)在输入模式时,施密特触发器打开,输出被禁止,可通过输入数据寄存器GPIOx_IDR读取I/O状态。 复用功能(推挽/开漏)复用功能模式中,输出使能,输出速度可配置,可工作在开漏及推挽模式,但是输出信号源于其它外设,输出数据寄存器GPIOx_ODR无效; startup_stm32f10x_hd.s文件初始化堆栈指针SP;
开头的是程序注释,在汇编里面注释用的是“;”,相当于 C 语言的“//”注释符 第二行是定义了一个子程序:Reset_Handler。PROC 是子程序定义伪指令。这里就相当于C语言里定义了一个函数,函数名为Reset_Handler。 第三行 EXPORT 表示 Reset_Handler 这个子程序可供其他模块调用。相当于C语言的函数声明。关键字[WEAK] 表示弱定义, 第四行和第五行 IMPORT 说明 SystemInit 和__main 这两个标号在其他文件,在链接的时候需要到其他文件去寻找。 SystemInit 需要由我们自己实现,即我们要编写一个具有该名称的函数,用来初始化 STM32 芯片的时钟, __main 其实不是我们定义的(不要与C语言中的main函数混淆),这是一个C库函数,当编译器编译时,只要遇到这个标号就会定义这个函数, 第六行把 SystemInit 的地址加载到寄存器 R0。 第七行程序跳转到 R0 中的地址执行程序,即执行SystemInit函数的内容。 第八行把__main 的地址加载到寄存器 R0。 第九行程序跳转到 R0 中的地址执行程序,即执行__main函数,执行完毕之后就去到我们熟知的 C 世界,进入main函数。 第十行表示子程序的结束。 1、开启对应gpio的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); 2、GPIO初始化,初始化前你学要定义好结构体GPIO_InitTypeDef
3、然后初始化GPIO.
4.然后在主函数调用初始化函数,对其进行初始化。5.最后是使用 GPIO_ResetBits(GPIOC,GPIO_Pin_13);就可以点亮一颗灯了6. 位操作:
GPIO输出初始化顺序 寄存器版本点亮LED:
原文链接:http://blog.qmgua.com/?id=178 ================================================= http://blog.qmgua.com/ 为 “布尔博客” 唯一官方服务平台,请勿相信其他任何渠道。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:22:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |