没有区别,作用相同.只是这样写便于修改和沿用. 对于只用到PB0端口的程序~(0x0f << (4*0)) 和~0x0f没有区别.0x0f <<(4*N) 就是 向左 移动N个4位,所以0x0f << (4*0)和0x0f一样. 如果使用PB1,则为~(0x0f << (4*1)).即0x0f << (4*1)为0xf0, 取反为0x0f. 但是如果使用到了PB1等其他端口,这样写便于修改.…
源:stm32 DMA数据搬运 [操作寄存器+库函数]        DMA(Direct Memory Access)常译为“存储器直接存取”.早在Intel的8086平台上就有了DMA应用了.           一个完整的微控制器通常由CPU.存储器和外设等组件构成.这些组件一般在结构和功能上都是独立的,而各个组件的协调和交互就由CPU完成.如此一来,CPU作为整个芯片的核心,其处理的工作量是很大的.如果CPU先从A外设拿到一个数据送给B外设使用,同时C外设又需要D外设提供一个数据...这…
转自:http://blog.csdn.net/ruby97/article/details/7406806 Word对象模型  (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Object Model from a .NET Developer's Perspective 五大对象 Application           :代表Microsoft Word应用程序本身 D…
源:STM32中的位带(bit-band)操作 支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写.在 CM3 中,有两个区中实现了位带.其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB范围.这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字.当你通过位带别名区访问这些字时,就可以达到访问原始比特的目的.       位带操作的概念其实 30 年前就有了,那还是805…
在STM8中,由于STM8寄存器较少,在头文件中定义寄存器的时候不用采取任何形式的封装,所以操作寄存器的时候直接可以用如下方式处理:PB_DDR |=0x20; 但是在STM32中,由于其寄存器实在太多,不方便像STM8一样定义头文件,而采用大量的结构体指针,宏定义进行封装,所以操作寄存器的时候用如下方式处理:GPIOC->ODR = 0X0000;而不再像STM8一样直接写成GPIOC_ODR =0X0000;…
MONO 调用一个线程操作UI 然后报Only the original thread that created a view hierarchy can touch its views.错误 google了一下说UI的操作还是需要到主线程,看了些java的例子 java中是使用了Handler 但是在MONO中需要怎么实现? 一. RunOnUiThread(()=>执行语句  ); demo: this.RunOnUiThread(() => tv.Text = "records…
源:stm32 NVIC中断管理实现[直接操作寄存器]     cortex-m3支持256个中端,其中包含了16个内核中断,240个外部中断.stm32只有84个中断,包括16个内核中断和68个可屏蔽中断.stm32f103上只有60个中断,f107上才有68个中断.       中断是stm32很基础的一个功能,学会使用中断,才可以更好的使用其他的外设.理解stm32的中断,必须要先从stm32的中断优先级分组是怎么回事.要理解优先级分组,就要先理解什么是先占优先级,和次占优先级.    …
最近学习了一下STM32中的ADC采样,由于手头正好有一个MQ-2的烟雾传感器,所以正好可以测试一把.体验ADC采样的过程.下面介绍一下这个MQ-2烟雾传感器. 1.MQ-2烟雾传感器简介 MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2).当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大.使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号. MQ-2气体传感器对液化气.丙烷.氢气的灵敏度高,对天然气和其它可燃蒸汽的检…
端口概述 在STM32中,每个I/O端口可以由软件配置成为输入/输出模式.复位期间或刚复位后,I/O端口被配置成浮空输入模式.所有的GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时, 它们可以被激活或者是断开. 所有的端口都有外部中断的能力. AF功能:对于复用功能,端口必须配置成复用功能输出模式.当软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定.还可以进行软件重映射I/O复用功能. 输入模式 四种输入模式:上拉输入.下拉输入.浮空输入.模拟输入. 以上电路由右…
是采样速率低于5Msps (每秒百万次采样)的中等至高分辨率应用的常见结构. SAR ADC的分辨率一般为8位至16位,具有低功耗.小尺寸等特点. 这些特点使该类型ADC具有很宽的应用范围,例如便携/电池供电仪表.笔输入量化器.工业控制和数据/信号采集等. 顾名思义,SAR ADC实质上是实现一种二进制搜索算法. 所以,当内部电路运行在数兆赫兹(MHz)时,由于逐次逼近算法的缘故,ADC采样速率仅是该数值的几分之一. SAR ADC的架构 尽管实现SAR ADC的方式千差万别,但其基本结构非常简…