草庐IT

什么是DPTR寄存器

DPRT中文译名数据指针datapointer,是一个16位的特殊寄存器(至少在51中是16位).其设计初衷是用于跟外部ROM和外部RAM.寻址方式是间接寻址,一般搭配MOVX使用。一般用法:movxa,@dptr读取外部内存某一个地址(即dptr所存的值)的内容到Amovx@dptr,a将A的内容写入外部内存某一个地址(即dptr所存的值)DPTR作用作为数据指针来讲(正常一个经典8051只有一个DPTR)作用可以跟通用寄存器类比一下,一般都是用作间接寻址。(看下面例子)‘不同的是通用寄存器只能适用于内部RAM的读取和写入。DPTR是专门为16位(或者小于16位)的外部RAM或者外部ROM准

明解STM32—GPIO理论基础知识篇之寄存器原理

​ 一、前言        在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析;GPIO工作模式中主要介绍GPIO应用在不同的使用场景下,GPIO端口的静态特征配置和动态的工作模式,同时对信号的工作流进行了分析。        这一篇主要对GPIO模块使用到的寄存器进行详细的分析介绍,适当了解GPIO寄存器的相关知识,可以对GPIO最底层的一些配置和工作原理有更好的认识,有助于加深对GPIO基本结构及工作模式的理解,同时对后续介绍到的GPIO在应用设计中有较好的帮助。二、寄存器概述      

明解STM32—GPIO理论基础知识篇之寄存器原理

​ 一、前言        在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析;GPIO工作模式中主要介绍GPIO应用在不同的使用场景下,GPIO端口的静态特征配置和动态的工作模式,同时对信号的工作流进行了分析。        这一篇主要对GPIO模块使用到的寄存器进行详细的分析介绍,适当了解GPIO寄存器的相关知识,可以对GPIO最底层的一些配置和工作原理有更好的认识,有助于加深对GPIO基本结构及工作模式的理解,同时对后续介绍到的GPIO在应用设计中有较好的帮助。二、寄存器概述      

痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位)

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是一个关于SeggerJ-Flash在MicronFlash固定区域下载校验失败的故事。  痞子衡最近在支持一个i.MXRT1170欧美客户,客户项目里选用了来自Micron的四线NORFlash-MT25QL256ABA8E12-0AAT作为启动设备,一般读写倒是没有问题,但是在SeggerJ-Flash下烧写遇到了特定区域内校验失败的问题。  从痞子衡过往丰富的Flash支持经验来看,亚太区客户一般选用ISSI(芯成)/Winbond(华邦)/MXIC(旺宏)/GigaDevices(兆易创新)的Flash比较多,痞子衡对这些

痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位)

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是一个关于SeggerJ-Flash在MicronFlash固定区域下载校验失败的故事。  痞子衡最近在支持一个i.MXRT1170欧美客户,客户项目里选用了来自Micron的四线NORFlash-MT25QL256ABA8E12-0AAT作为启动设备,一般读写倒是没有问题,但是在SeggerJ-Flash下烧写遇到了特定区域内校验失败的问题。  从痞子衡过往丰富的Flash支持经验来看,亚太区客户一般选用ISSI(芯成)/Winbond(华邦)/MXIC(旺宏)/GigaDevices(兆易创新)的Flash比较多,痞子衡对这些

STM32F7xx外设驱动7-dac(寄存器)

//源文件voidDACPhyConfig(){RCC->APB1ENR|=1AHB1ENR|=1MODER|=(3PUPDR|=(3OSPEEDR|=(1CR|=1CR|=1CR|=0CR|=0CR|=0CR|=0CR|=0DHR12R1=0;//默认输出0}//设置通道1输出电压//vol:0~3300,代表0~3.3VvoidDac1_Set_Vol(uint16_tvol){ doubletemp=vol; temp/=1000; temp=temp*4096/3.3; DAC->DHR12R1=temp;}//头文件/*****************************dac*

STM32F7xx外设驱动6-adc(寄存器)

//源文件voidADCPhyConfig(){ RCC->APB2ENR|=1AHB1ENR|=1MODER|=(3PUPDR|=(3OSPEEDR|=(1APB2RSTR|=1APB2RSTR&=~(1CCR=1CR1=0;//CR1设置清零 ADC1->CR2=0;//CR2设置清零 ADC1->CR1|=0CR1|=0CR2&=~(1CR2&=~(1CR2|=0SQR1&=~(0XFSQR1|=0SMPR2&=~(7SMPR2|=7CR2|=1SQR3&=0XFFFFFFE0;//规则序列1通道chADC1->SQR3|=ch;ADC1->CR2|=1SR&1DR;//返回adc值}/

STM32F7xx外设驱动5-uart(寄存器)

//源文件voidUartGpioConfig(){ RCC->AHB1ENR|=(1APB1ENR|=(1APB2ENR|= //PD8TXDGPIOD->MODER|=(2OSPEEDR|=(2AFR[1]|=(7PUPDR|=(1MODER|=(2OSPEEDR|=(2AFR[0]|=(7PUPDR|=(1BRR|=(54*1000000+bound/2)/bound; USART3->CR1=0; USART3->CR1|=0CR1|=0CR1|=0CR1|=1CR1|=1TDR=byte; while((USART3->ISR&(1  

STM32F7xx外设驱动4-timer(寄存器)

//源文件voidTimerPhyConfig(){RCC->APB1ENR|=(1ARR=arr; TIM3->PSC=psc; TIM3->DIER=(1CR1|=(1CR1&=~(1SR&0X0001)//溢出中断 { LD1_TURN; LD2_TURN; LD3_TURN; } TIM3->SR&=~(1  

STM32F7xx外设驱动3-rcc(寄存器)

//源文件voidRccPhyConfig(){ uint16_tretry=0; RCC->APB1ENR|=1CR1|=3CR1|=1CR1|=1CR|=(1CR&(1CR&=~(1CFGR|=(0PLLCFGR=PLL_M|(PLL_N>1)-1)CR|=(1CR&(1ACR|=1ACR|=1ACR|=7CFGR&=~(3CFGR|=2CFGR&(3