06 2020 档案
摘要:stm32单片机的时钟有必要搞清楚。对于外设来说,关闭外设其实就是关闭它的时钟。 单片机的外设所需要的时钟来源来自4条时钟线:内部时钟/外部时钟、高速/低速。结合起来就是:内部高速时钟(HSI)、内部低速时钟(LSI)、外部高速时钟(HSE)、外部低速时钟(LSE)。 上面是时钟数(从野火资料中截取
阅读全文
摘要:作用域:一个变量或者函数起作用的范围 生命周期:一个变量什么时候被释放 static关键字:修饰局部变量、修饰全局变量、修饰函数 1.局部变量的作用域 局部变量的作用域是离他最近的一个代码块,比如函数体的大括号、if for while循环体的代码块。超出这个代码块则无法访问。 1 #include
阅读全文
摘要:1.NVIC是什么 NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对 Cortex-M3 内核里面的NVIC 进行裁剪,把不需要的部分去掉,所以说 STM32 的 NVIC 是 Cortex-M3 的NVIC
阅读全文
摘要:C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数,这点和函数有些类似。就像把函数的实参传递给形参。 对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。 带参宏定义的一般形式为: #define 宏名(形参列表) 字符串在字符串中含有各个形参。 带参宏调用的
阅读全文
摘要:一个程序的运行是需要内存的,那么我们平常写的程序的内存都是怎么分配的呢 (1)首先我们要知道,内存是真实存在的,内存是一个物理器件。它时由操作系统管理的,我们平常只要使用它就行了,为了方便管理。操作系统提供了很多种机制来管理内存,每一种机制都有其特点。(2)三种内存来源:栈(stack)、堆(hea
阅读全文
摘要:结合存储器映像理解stm32标准库中定义外设地址的方法。 stm32f103zet6是32位的。它所能访问的地址空间范围为2^32=4GB,把4GB分为8个block,分别为block0-block-7。把这8个block用于不同的用途。 block0-block7的用途 图1 ——————————
阅读全文
摘要:1.位与 & (1)位与符号是&,按照一个数的二进制位按位与。(2)位与的真值表:1&1=1,1&0=0,0&1=0,0&0=0. 举个例子:两个二进制数分别是 10101010、01111010。所谓位与就是二进制的每一位进行与,即要想把两个数(十进制、十六进制等)进行位与,必先把其转化为二进制数
阅读全文
摘要:用宏置位、复位。 1 // 把x的第n位置一 2 #define SET_NTH_BIT(x, n) (x | ((1U)<<(n-1))) 3 4 //把x的第n位清零 5 #define CLEAR_NTH_BIT(x, n) (x & ~((1U)<<(n-1))) 6 7 //把x的n-m位
阅读全文