单片机的基础知识
1.单片机型号的解读
2.位操作
运用:
1、在不改变其他位的值的状况下,对某几个位进行设值。
方法就是先对需要设置的位用&操作符进行清零操作,然后用|操作符设值。比如我要改变 GPIOA 的 CRL 寄存器 bit6(第 6 位)的值为 1,可以先对寄存器的值进行&清零操作:
GPIOA->CRL &= 0XFFFFFFBF; /* 将第 bit6 清 0 */
GPIOA->CRL |= 0X00000040; /* 设置 bit6 的值为 1,不改变其他位的值 */
2、移位操作提高代码的可读性。
如第 1 位设置为 1:
SysTick->CTRL |= 0X0002;
3、~按位取反操作使用技巧
按位取反在设置寄存器的时候经常被使用,常用于清除某一个/某几个位。
如:
SysTick->CTRL &= ~(1 << 0) ; /* 关闭 SYSTICK */
该代码可以解读为仅设置 CTRL 寄存器的第 0 位(最低位)为 0,其他位的值保持不变。
4、^按位异或操作使用技巧
该功能非常适合用于控制某个位翻转。
3.寄存器
寄存器(Register)是单片机内部一种特殊的内存,它可以实现对单片机各个功能的控制,简单的来说可以把寄存器当成一些控制开关,控制包括内核及外设的各种状态。
4.c语言运算符的优先级