下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、STM32控制器位带操作,STM32控制器与8051控制器IO口输入/输出操作对比,#include “reg51.h” sbit P20= P20; void main(void) while(1) P20 = 1; delay(); P20 = 0; delay(); ,#include “stm32f10 x.h” sbit P20= P20; void main(void) while(1) GPIOB-BSRR|=1BRR|=15; delay(); ,BSRR寄存器,BRR寄存器,8051单片机的P2口寄存器,STM32控制器与8051控制器IO口输入/输出操作对比,#includ
2、e “reg51.h” sbit P20= P20; void main(void) while(1) P2 |= 0 x01; delay(); P20 ,#include “stm32f10 x.h” sbit P20= P20; void main(void) while(1) GPIOB-BSRR|=1BRR|=15; delay(); ,8051单片机的位寻址区,表2-3,STM32位带区之一,STM32位带区之二,STM32存储器映射关系,教材26页 图2-10 CM3存储器组织,位带区,位别名区,位带区,位别名区,STM32 位带绑定操作示意图,STM32 位带绑定操作 计算公式
3、,注释(对于位带区的某个bit,上图红色圈中的bit) n:所代表的位序号(0n7)。例如上图中n=3 A:该bit所在的字节地址。例如上图中A=0 x2000 0000 (0 x20000000A0 x200FFFFF或0 x20000000A0 x200FFFFF ) AliasAddr:该bit在别名区的地址。例如上图AliasAddr=0 x2200000C,STM32 位带绑定操作 程序设计,举例:在SRAM的0 x20004000地址定义一个长度为512字节的数组: #pragma location =0 x20004000 _root _no_init u8 Buffer512;
4、 GPIOA的端口输出数据寄存器位于地址0 x4001080C。 要求:将数组中数据通过GPIOA.0引脚送出 分析: 数组首字节的bit0对应的位别名区地址为: 0 x22000000+(0 x20004000-0 x20000000)32)+(04)=0 x22080000 GPIOA.0控制其输出电平的bit位所对应的别名区地址为: 0 x42000000+(0 x4001080C-0 x40000000)32)+(04)=0 x42210180,u32 *pBuffer=(u32 *)0 x22080000; u16 cnt= 512 * 8; while(cnt-) (*(u32 *
5、)0 x42210180)=*pBuffer+; ,STM32 位带绑定操作方法归纳,1 指针、地址与取指针操作 #define PD12 (volatile unsigned long *)(0 x424182b0) /0 x424182b0为GPIOD.12引脚对应的映射位别名地址 *PD12=0 x01;/PD12引脚置高电平 2 直接定义使用地址操作 #define PD12 *(volatile unsigned long *)(0 x424182b0) /0 x424182b0为GPIOD.12引脚对应的映射位别名地址 PD12=0 x01;/PD12引脚置高电平 3 宏定义,转换
6、别名操作 使用:VIEW_TIME=1; VIEW_TIME=0;/GPIOA.10引脚 输出1或者0 分析: #define VIEW_TIME PAout(10) #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) /输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) /输入 #define GPIOA_ODR_Addr (GPIOA_BASE+12) /0 x4001080C #define GPIOA_BASE (APB2PERIPH_BASE + 0 x0800) #define APB2PERIPH_BASE (PERIPH_BASE + 0 x10000) #define PERIPH_BASE (uint32_t)0 x40000000) #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum) #define MEM_ADDR(addr) *(volatile unsigned long *)(addr) #define BITBAND(addr, bitnum) (addr & 0 xF0000000)+0 x2000000+(addr &0 xFFFFF)5)+(bitnum2),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户需求分析工具市场调研数据驱动型
- 重点项目生态保护措施推进责任书范文9篇
- 资源节约型企业承诺书6篇
- 财务报告生成器及财务分析工具集
- 高级外语教师跨文化交际能力培养指导书
- 山东省海阳市美宝校2026年中考押题卷英语试题含解析
- 陕西省延安市实验中学2026年初三3月月考数学试题(解析版)含解析
- 食品企业烘焙食品保质期确定设计方案、实施方案及管理制度
- 云南省迪庆市级名校2026届初三下学期摸底测试物理试题含解析
- 稳健发展保障责任承诺书(3篇)
- 《数字图像与视频处理》第9章 图像与视频的质量评价PPT
- 面瘫诊疗方案优化方案
- 中国图书馆分类法简表
- 新课程的教育理念 义务教育物理课程标准解读 新课标
- 小升初小学六年级语文专项训练古诗词填空和答案
- 地质灾害防治工程课件
- 糖尿病慢性并发症P课件
- 经皮肾镜碎石术并发脓毒血症的风险与防治
- 消防燃烧学课件
- 军用工程机械简介课件
- 01文字飞机场勘察报告
评论
0/150
提交评论