公司做网站大概多少钱,自适应网站举例,阿里巴巴建设网站,广东网站建设找文章目录 OLED1、OLED硬件main.c EXTI外部中断1、中断系统2、中断执行流程图3、STM32中断4、中断地址的作用5、EXTI6、EXTI基本结构7、AFIO复用IO口8、EXTI框图或门和与门 9、旋转编码器介绍10、硬件电路 OLED 
1、OLED硬件 SCL和SDA是I2C的通信引脚#xff0c;需要接在单片机… 文章目录 OLED1、OLED硬件main.c  EXTI外部中断1、中断系统2、中断执行流程图3、STM32中断4、中断地址的作用5、EXTI6、EXTI基本结构7、AFIO复用IO口8、EXTI框图或门和与门 9、旋转编码器介绍10、硬件电路  OLED 
1、OLED硬件 SCL和SDA是I2C的通信引脚需要接在单片机I2C通信的引脚上在这里的驱动程序用的是GPIO口模拟的I2C通信所以这两个端口可以接在任意的GPIO口上。 
main.c 
#include stm32f10x.h                  // Device header
#include Delay.h
#include OLED.hint main(void)
{/*模块初始化*/OLED_Init();		//OLED初始化/*OLED显示*/OLED_ShowChar(1, 1, A);				//1行1列显示字符AOLED_ShowString(1, 3, HelloWorld!);	//1行3列显示字符串HelloWorld!OLED_ShowNum(2, 1, 12345, 5);			//2行1列显示十进制数字12345长度为5OLED_ShowSignedNum(2, 7, -66, 2);		//2行7列显示有符号十进制数字-66长度为2OLED_ShowHexNum(3, 1, 0xAA55, 4);		//3行1列显示十六进制数字0xA5A5长度为4OLED_ShowBinNum(4, 1, 0xAA55, 16);		//4行1列显示二进制数字0xA5A5长度为16//C语言无法直接写出二进制数字故需要用十六进制表示while (1){}
} 
EXTI外部中断 
1、中断系统 2、中断执行流程图 在中断执行前会对程序的现场进行保护中断执行后还原现场。 右边有中断函数中断函数不需要我们调用由硬件自动调用。 
3、STM32中断 4、中断地址的作用 
程序中的中断函数它的地址是由编译器来分配的是不固定的但是中断跳转由于硬件的限制只能跳转到固定的地址执行程序为了硬件能跳转到一个不固定的中断函数里需要在内存中定义一个地址列表这个列表地址是固定的中断发生后就跳到这个固定位置然后在这个固定位置由编译器再加上一条跳转到中断函数的代码这样中断跳转就可以跳转到任意位置了。说人话就是中断跳转认的固定地址由编译器担保编译器对外用固定地址对内自己再找地址存类似中断向量表。 NVIC基本结构  在STM32中用来统一分配中断优先级和管理中断NVIC是一个内核外设。为什么需要NVIC因为STM32的中断非常多如果都接到CPU上CPU需要引出很多线如果很多中断同时申请或者中断很多产生了拥堵难处理所以需要NVIC。NVIC有很多输入口只有一个输出口NVIC根据每个中断的优先级分配中断的先后顺序之后通过输出口让CPU处理中断。 NVIC优先级分组  类比医生看病响应优先级高的可以等医生看完这个病人后优先看病抢占优先级高的直接让正在看病的病人等着自己先看。 当抢占优先级和响应优先级均相同时按上上图中表中的优先级顺序数字来排队数字小的优先排队 
5、EXTI 引脚电平变化申请中断上升沿电平从低到高触发中断下降沿高到低触发中断软件触发是引脚不变程序里的代码触发中断。 相同的Pin不能同时触发中断的意思是PA1、PB1、PC1这样的只能选1个作为中断引脚所以如果有多个中断引脚要选不同Pin的引脚比如PA6和PA7、PA9和PB15这样的。 16个GPIO_Pin是外部中断的主要功能后面四个是来外部中断“蹭网”的为什么呢因为外部中断有从低功耗模式的停止模式下唤醒STM32的功能对于PVD电源电压监测当电源从电压过低恢复时需要PVD借助一下外部中断退出停止模式对于RTC闹钟来说有时为了省电定一个闹钟后STM32进入停止模式等到闹钟响的时候再唤醒也需要借助外部中断。 中断响应申请中断让CPU执行中断函数。事件响应当外部中断检测到引脚电平变化时正常的流程是选择触发中断但在STM32中也可以选择触发一个事件如果触发事件那外部中断的信号就不通向CPU了而是通向其他外设用来触发其他外设的操作比如触发ADC转化、触发DMA等。 
6、EXTI基本结构 每个GPIO外设都有16个引脚在AFIO中进行选择后接到EXTI边缘检测及控制电路与下面4个蹭网的一起经过EXTI电路后分为了两种输出上面一直到ETH都是接NVIC用来触发中断注意外部中断的9-5和15-10分到一个通道里减少通道资源占用也就是9-5触发同一个中断函数编程时在这个两个中断函数中需要再根据标志位来区分到底是哪个中断进来的。下面的20条输出线接到其他外设进行事件响应。 
7、AFIO复用IO口 PA0、PB0…通过数据选择器接到EXTI0这就清楚了为什么相同的Pin不能同时触发中断。 
8、EXTI框图 输入线进入边沿检测电路在上面的上升沿寄存器和下降沿寄存器选择触发方式接着触发信号进入或门的输入端通过或门后触发信号兵分两路上面触发中断下面触发事件。触发中断首先会置一个挂起寄存器相当于中断标志位读该寄存器可判断出是哪个通道触发的中断如果寄存器置1就会继续向左走和中断屏蔽寄存器共同进入一个与门然后进NVIC中断控制器这里的与门是开关的作用只有中断屏蔽寄存器给1时才有可能让触发信号继续走。再看下面的触发事件的输出部分首先是一个事件屏蔽寄存器进行开关控制最后通过一个脉冲发生器到其他外设脉冲发生器的作用是给一个电平脉冲用来触发其他外设的动作。 
或门和与门 
或门一个为1则为1与门一个为0就是0。 
9、旋转编码器介绍 转动旋转编码器产生脉冲波形信号突发STM32不知道什么时候产生同时是外部驱动STM32只能被动读取最后这个信号非常快STM32稍晚一点读取就会错过很多波形。对于这种情况考虑外部中断。 按键虽然也是外部驱动的突发事件但外部中断不好处理按键抖动和松手检测的问题对于按键来说它的输出波形也不是转瞬即逝的要求不高可以在主程序中循环读取或定时器中断读取。  内部用金属触点进行通断是一种机械触点式编码器内侧的左右触电都接中间的C引脚外侧的触电左接A引脚右接B引脚中间的圆的金属片是一个按键可以按下上面两根线引出。 右边是编码盘是一系列金属触点在旋转时依次通断两边的触点还需注意金属盘的位置是经过设计的能让两侧触点的通断产生一个90度的相位差最终配合一下外部电路两个输出AB就会输出如下当正转时左边A相引脚输出一个方波信号同时右边的B相引脚输出一个和它相位相差90度的波形这种相位相差90度的波形叫正交波形可以测方向这就是单相输出和两相正交输出的区别。  我们用到的这种触点接触形式的旋转编码器适合调节音量但不适合测电机另外几种非接触的形式可以用于电机测速。 
10、硬件电路 编码器内部两个触点在旋转轴旋转时以相位相差90度的方式交替导通需要配合外围电路输出高低电平左图左下接10K的上拉电阻默认不旋转时上拉为高电平通过R3输出到A端口的也为高电平。当触电导通时接到GND低电平。R3是输出限流电阻防止模块引脚电流过大C1是输出滤波电容可以防止输出信号抖动。 右边AC接两个引脚C暂时不用。 文章转载自: http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn http://www.morning.pqfbk.cn.gov.cn.pqfbk.cn http://www.morning.bnylg.cn.gov.cn.bnylg.cn http://www.morning.skkln.cn.gov.cn.skkln.cn http://www.morning.qxkcx.cn.gov.cn.qxkcx.cn http://www.morning.jqlx.cn.gov.cn.jqlx.cn http://www.morning.ryfpx.cn.gov.cn.ryfpx.cn http://www.morning.rtkz.cn.gov.cn.rtkz.cn http://www.morning.ptzbg.cn.gov.cn.ptzbg.cn http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn http://www.morning.smsjx.cn.gov.cn.smsjx.cn http://www.morning.pqyms.cn.gov.cn.pqyms.cn http://www.morning.smtrp.cn.gov.cn.smtrp.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.rlnm.cn.gov.cn.rlnm.cn http://www.morning.mprky.cn.gov.cn.mprky.cn http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn http://www.morning.llllcc.com.gov.cn.llllcc.com http://www.morning.ndxrm.cn.gov.cn.ndxrm.cn http://www.morning.thlzt.cn.gov.cn.thlzt.cn http://www.morning.mbfkt.cn.gov.cn.mbfkt.cn http://www.morning.qcymf.cn.gov.cn.qcymf.cn http://www.morning.xrrbj.cn.gov.cn.xrrbj.cn http://www.morning.lztrt.cn.gov.cn.lztrt.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.svrud.cn.gov.cn.svrud.cn http://www.morning.xhddb.cn.gov.cn.xhddb.cn http://www.morning.bfycr.cn.gov.cn.bfycr.cn http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn http://www.morning.jlxld.cn.gov.cn.jlxld.cn http://www.morning.xrwbc.cn.gov.cn.xrwbc.cn http://www.morning.kwnnx.cn.gov.cn.kwnnx.cn http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn http://www.morning.xhgxd.cn.gov.cn.xhgxd.cn http://www.morning.wlxfj.cn.gov.cn.wlxfj.cn http://www.morning.rbkdg.cn.gov.cn.rbkdg.cn http://www.morning.njfgl.cn.gov.cn.njfgl.cn http://www.morning.touziyou.cn.gov.cn.touziyou.cn http://www.morning.dbfj.cn.gov.cn.dbfj.cn http://www.morning.hchrb.cn.gov.cn.hchrb.cn http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn http://www.morning.rgwz.cn.gov.cn.rgwz.cn http://www.morning.xpgwz.cn.gov.cn.xpgwz.cn http://www.morning.rhnn.cn.gov.cn.rhnn.cn http://www.morning.phjny.cn.gov.cn.phjny.cn http://www.morning.sjpht.cn.gov.cn.sjpht.cn http://www.morning.xfmwk.cn.gov.cn.xfmwk.cn http://www.morning.rwzmz.cn.gov.cn.rwzmz.cn http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn http://www.morning.rmpfh.cn.gov.cn.rmpfh.cn http://www.morning.pmghz.cn.gov.cn.pmghz.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn http://www.morning.klwxh.cn.gov.cn.klwxh.cn http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn http://www.morning.ssjee.cn.gov.cn.ssjee.cn http://www.morning.zpstm.cn.gov.cn.zpstm.cn http://www.morning.srzhm.cn.gov.cn.srzhm.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.wrdlf.cn.gov.cn.wrdlf.cn http://www.morning.nxwk.cn.gov.cn.nxwk.cn http://www.morning.tnthd.cn.gov.cn.tnthd.cn http://www.morning.xjnw.cn.gov.cn.xjnw.cn http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn http://www.morning.mjytr.cn.gov.cn.mjytr.cn http://www.morning.jfch.cn.gov.cn.jfch.cn http://www.morning.krhkn.cn.gov.cn.krhkn.cn http://www.morning.jyknk.cn.gov.cn.jyknk.cn http://www.morning.dbfp.cn.gov.cn.dbfp.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.nqgff.cn.gov.cn.nqgff.cn http://www.morning.btjyp.cn.gov.cn.btjyp.cn http://www.morning.dthyq.cn.gov.cn.dthyq.cn http://www.morning.qnjcx.cn.gov.cn.qnjcx.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.hngmg.cn.gov.cn.hngmg.cn http://www.morning.jjmrx.cn.gov.cn.jjmrx.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.nqcwz.cn.gov.cn.nqcwz.cn