1,STM8的中断管理

带有32个中断的嵌套中断控制器6个外部中断向量,最多27个外部中断

STM8的中断管理

2,stm8s103f3有多少个外部中断

原因找到了。不是定时器设置的问题。而是程序中有这两条蓝色标记的语句: PC_DDR |= 0XE0;//将PC.7,,6,5 设为输出 //pc2,pc1看起来设置为了输入,但其实该芯片没有这两个引脚 PC_CR1 |= 0XE0;// 推挽输出 PC_CR2 &= ~0XE0;// MAX SPEED 2MHZ //PC_CR2 |=~0XE0;// 错误的语句,看作是误操作了PC2,PC1引脚,使中断不能进入。暂时看起来,这个程序不进入中断,可能是因为将PC_DDR的bit2,bit1位设置为0(复位值也是0),并且又将PC_CR2的bit2,bit1位设置为1(复位值是0),可是STM8S103F3P6又没有对应的PC2,PC1引脚,于是程序出错,从而不能进入定时中断,也不执行其它语句。不过如果不用中断,其它语句是可以正常执行的,定时器的溢出标志也可以软件查询到。

stm8s103f3有多少个外部中断

3,STM8外部中断如何区分同一PORT中的不同脚如PD1和PD2

不能判断电平,会产生误导;如上升沿,下降沿边触发,是瞬态产生,可能在没有来得及判断时,中断就已经进行了;举个例子,在PC口有的PC0和PC1两个信号都要求能够中断。而STM8S 对应PC口只有一个 中断向量,我要怎么才能够知道具体是有PC0引起的中断呢?还是PC1引起的中断呢? 我也看了坛子里面的一些相关的帖子,大致有这么一种方法,进入中断后读取IO口的电平状态 以判断是哪个IO口引起的中断。 但是我有个疑问,假定设置为下降沿触发中断。PC0先出现下降沿,系统进入中断,如果在这个时间段,PC1也出现下降沿,在中断里面再读PC0和PC1电平状态,仍然不能够判别是由PC0引起的中断,还是由PC1触发的中断啊!!不建议这样用 最好一个PC,一个PD,每个口只开放一个中断;那这样,一个PORT, 每个独立的中断口就没有意义了?STM8S有5组IO端口,每组端口分别有若干引脚可以作为外部中断触发输入,分别为:端口A: PA[6:2];端口B: PB[7:0];端口C: PC[7:0];端口D: PD[6:0];端口E: PE[7:0]。

STM8外部中断如何区分同一PORT中的不同脚如PD1和PD2


文章TAG:总共stm8总共有多少中断口  STM8的中断管理  
下一篇