首页 > 电子

怎么判断上升沿io口状态不用中断

软件的话,可以不断查询IO口的状态来判断上升沿,有上升沿出现再去采样数据。上升沿如何采样你的问题不太清晰,怎么判断4个IO口,不用中断,不然,就像一个while(i!0)i;这个的语句不同的编译器编出来是不同的!我想你这上升沿采样,应该是当有上升沿出现时,产生触发信号,由这触发信号去控制采样。

1、IO口模式

最近在看数据手册的时候,发现在CortexM3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN模拟输入(2)GPIO_Mode_IN_FLOATING浮空输入(3)GPIO_Mode_IPD下拉输入(4)GPIO_Mode_IPU上拉输入(5)GPIO_Mode_Out_OD开漏输出(6)GPIO_Mode_Out_PP推挽输出(7)GPIO_Mode_AF_OD复用开漏输出(8)GPIO_Mode_AF_PP复用推挽输出对于刚入门的新手,我想这几个概念是必须得搞清楚的,平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但一直未曾对这些做过归纳。

2、怎么判断4个IO口,任意2个IO口为高电平时,输出低电平,用51单片机,C语言...

ucharfun(){//返回要检测IO口为高电平的个数ucharnum0;if(K1)num ;if(K2)num ;if(K3)num ;if(K4)num ;returnnum;}if(fun()>2){......}else{.....}。对a1进行定义,前面是你的k1是逻辑运算,而加了a就成了数据运算了:if(k11)a11;

3、怎么用检测stm32引脚输入信号的上升沿,不用中断,我是菜鸟,最好给出C程...

#definePB8GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)//读取PB8键//初始化GPIO_InitTypeDefGPIO_InitStructure;//PB8按键,下拉输入GPIO_InitStructure.GPIO_PinGPIO_Pin_8;GPIO_InitStructure.GPIO_ModeGPIO_Mode_IN;//模式为输入GPIO_InitStructure.GPIO_PuPdGPIO_PuPd_DOWN;//下拉GPIO_Init(GPIOB,

4、如何用C检测单片机IO口电平变化

首先,要知道单片机是多大的晶振,然后指令周器是等于多少个机器周期。个样才能算出一条指令的执行时间。首先,用C写的,到底他编译出来的汇编语句是什么也要搞清楚。当扫描用户程序结束后,可编程逻辑控制器就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是可编程逻辑控制器的真正输出。

这个嘛!你是要用定时器定时还是用软件延迟呢?这么短的时间就软件延迟好了。首先,你要知道你的单片机是多大的晶振,然后指令周器是等于多少个机器周期。个样才能算出一条指令的执行时间。首先,你用C写的,到底他编译出来的汇编语句是什么也要搞清楚。不然,就像一个while(i!0)i;这个的语句不同的编译器编出来是不同的!有的很简洁就是DZJN,

5、51(stc89C52

不用设置,默认是为IO口直接先输出P2.0为高,再读入即可。先从软件上讲,要判断IO口高低电平,这对于单片机来说是输入状态,所以要将IO口设置为输入状态;再从硬件上讲,电路有很多种,比较保险的作法是采用三级管方式,IO口接到三极管集电极并上拉电压<这个电压要取于单片机工作电压,有的单片机是3.3V,有的单片机是5.0V>,外部电平就通过电阻搭配接到三极管的基极。

6、上升沿如何采样

你的问题不太清晰。我想你这上升沿采样,应该是当有上升沿出现时,产生触发信号,由这触发信号去控制采样,可以由硬件、软件实现都可以。软件的话,可以不断查询IO口的状态来判断上升沿,有上升沿出现再去采样数据,硬件的话就根据具体器件设置一下寄存器就可以了。

保存到:

相关文章

Top