| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 07_STM32常用C语言和寄存器地址名称映射详解 -> 正文阅读 |
|
[嵌入式]07_STM32常用C语言和寄存器地址名称映射详解 |
STM32常用C语言和寄存器地址名称映射详解?6种操作运算符: ? 按位与&:bit位相同的时候,同1为1,其中有一个不为1,则0。 举例: ? ? ? ? ? ? ? ? ? ?1001 1100 ????????????????& 1010 1010 等于? ? ? ? ? ? 1000 1000 常用方法:GPIOB->CRL&=0xFFF0; ??将低4位清0 按位或|:bit位相同的时候,有1则为1,全是零则0。 举例: ? ? ? ? ? ?1001 1100 ? ? ? ? ? |1010 1010 等于 ???1010 1110 常用方法:GPIOB->CRL|=0x000F; ??将低4位置1,不改变其他位的值 按位异或^:bit位相同的时候,相同位1,不同为0。 ? ? ? ? ? ?1001 1100 ? ? ? ? ?^1010 1010 等于 ???0011 0110 按位取反~:bit位相同的时候,相同位1,不同为0。 ? ? ? ? ? ~1001 1100 等于 ????0110 0011 常用方法:GPIOB->CRL=0x0F; ??答案会是0xF0 右移运算>>: 举例: ?0x0F>>1 转换成二进制0x0000 1111>>1答案等于0x07 ?转换成二进制0x0000 0111相当于数据整体的右移了一位,高位补0; 左移运算<<: 举例: ?0x01<<3 转换成二进制0x0000 0001<<3答案等于0x08 ?转换成二进制0x0000 1000相当于数据整体的左移了3位,低位补0; Define是C语言中的预处理命令,在编译的时候会代替我们写的宏定义。 格式: #define 标识符 字符串 “标识符”是所定义的宏名字,”字符串”可以是常数,表达式,格式串。
?寄存器地址名称映射 对于MCU,一切底层配置,最终都是配置寄存器 51中的映射方法 Sft P0 = 0x80;//P0映射到地址0x80 P0 = 0X00;//给0x80地址里面赋值0x00 ?STM32中的映射方法 以GPIOA为例: 先定义了一个结构体,从命名为GPIO_TypeDef,这个__IO是指静态?volatile?uint32_t 是指32位的无符号整形变量uint32_t 是指32位的无符号整形变量,volatile?类型是这样的,其数据确实可能在未知的情况下发生变化。
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
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 20:13:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |