51单片机怎么读取P0,P1口的值,是要先给一个高电平才能读取吗?c程序怎么写?

51单片机怎么读取P0,P1口的值,是要先给一个高电平才能读取吗?c程序怎么写?,第1张

为了保险一般需要先给送一个“高”,再读取IO口,这是针对亏搏旅那些没有加上拉电阻的IO口而采取的办法,如果加了上拉银旁电阻,销凳是不用这么麻烦的,可以直接读取IO口的值。

uncsigned char dat0,dat1

//

P0=0xffP1=0xff

dat0=P0

dat1=P1

您好,STM32的GPIO口的功能是非常之强大的。关于GPIO输出的赋值可使用两种方法,方法A:逐一配置法,优点是不会影响到其它的GPIO口,缺点是 *** 作比较繁琐。方法B:ODR设置法,优点是 *** 作轻猜庆松,缺点是需要硬件电路作配合。下面我们详细描写这两种方法:方法A:所谓逐一配置法, 就是对需要输出数据的IO口线逐一配置,需要输出为1的IO口使用GPIOx-BSS = 1 N(N表示第N根线,如PA9, N值为9)需要输出为0的IO口使用GPIOx-BRSS = 1 N使用以下语句可以完成//to do 先将输出口配置为输出功能for( i = starti endi++ ){ if( value BSS = 1 i} else { GPIOx-BRSS = 1 i}}方法B: ODR配置法,可以直接使用 GPIO-ODR = value N给对应的IO口进行输出 *** 作。但是此时在硬件上要保证:1 该功能口(如GPIOA)上的其余的IO口不作为普通的IO输出口使用(由于是键盘扫描,当列输出的时候,行应当是输入;同理,当列输入时,行应当是输出)2 行列以外的GPIO口,要末是普通的IO输入口,要末是功能口。功能口就是UART、USB、PWM、ADC等,对GPIO的ODR进行 *** 作时,穗缺握不会对功能口产生影响。以上第2条是对第1条的详细解释。总结:如果在硬件上可以满足方法B的利用条件,扮宏建议优先采取方法B。在其它1些需要使用并行输出,如并口液晶、NandFlash等应当的时候,也能够斟酌使用方法B。 查看更多答案>>

记得采纳啊

package IO流与File类

import java.io.File

import java.io.FileInputStream

import java.io.FileOutputStream

/*

* 使用FileOutputStream类向文件work.txt写入信息,

* 然后通过FileInputStream类将文件中的数据读取到控制台上。

*

*/

public class 文件输入流输出流 {

public static void main(String[] args) {

// 在给定的路径下创建work.txt的纯冲键文件对象file

File file = new File("c:/P-J/work.txt")//读者可自己设置地址。执行完写入 *** 作后,作者可以去指定的路径位置下查看指定文件。

// 写一个输出流,完成从程序写一句话到指定路径的文件里

try{

//创建FileOutputStream对象

FileOutputStream out = new FileOutputStream(file)

//创建byte型数组

byte buy[]="看电视了".getBytes()//写一句话,并调用方法吧这句话付给创建的byte数组

byte[] bytes = "我有一只小毛驴,我从来也不骑。".getBytes()//这里尝试了不同的创建数组的方式

out.write(buy)//“程序”把刚才我建的byte数组的值写入到,file指定路径的work.txt文件里去

out.write(bytes)//当然了,还有这句话判斗

out.close()//关流很重要,千万不可忘记

}catch(Exception e){//定义了异常类型Exception和异常对象e

e.printStackTrace()//输出异常信息

}

// 写一个输入流,完成从程序从指定的硬盤文件中读进来一句话,并显示到程序的控制台上

try{

//创建FileInputStream类对象

FileInputStream in = new FileInputStream(file)

byte byt[]=new byte[1024]//定义一个新的byte数做巧组,并开辟了1024个内存空间,这里没有赋初值,是因为这个byte数组是用来接受从硬盤文件中读取过来的数据信息的,硬盤文件中的数据就是byte数组的值

int len = in.read(byt)//从文件中读取信息,这里为什麼要用int型数据呢?*****

System.out.println("文件中的信息是:"+new String(byt,0,len))//打印输出了从指定硬盤文件中读取的数据信息

in.close()//关流很重要,如果不关流的话计算机会持续读入数据,会占用计算机的运行空间,从而导致计算机卡壳,如果是大型的服务器的话,极有可能会导致服务器崩溃瘫痪

}catch(Exception e){//定义了异常类型Exception和异常对象e

e.printStackTrace()//输出异常信息

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8243761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存