问上位机控制82c55应该如何写方式字和控制字? 这样写的话是什么样呢? 我看资料上这样的: CH365WriteIoByte (&mIoBase -> mCh365IoPort[0x03],0x80); 我的电路图
现在82C55PA口输出一直是高电平,怎么回事啊
1、您有启用中断,D2为什么要下拉? 2、A15脚要接 82C55A 的 RESET 脚 3、写的语句参考说明书就行了
UCHAR mByte; // 数据单元,用于保存从I/O 端口中读出的数据或者准备写入I/O 的数据 mPCH365_IO_REG mIoBase = NULL; // I/O 端口基址,设定为0 则DLL 会自动加上基址 CH365ReadIoByte( & mIoBase -> mCh365IoCtrl, &mByte ); // 先读取芯片控制寄存器 CH365WriteIoByte( & mIoBase -> mCh365IoCtrl, mByte | mBitAddr15Out ); // A15=1 CH365WriteIoByte( & mIoBase -> mCh365IoCtrl, mByte & ~ mBitAddr15Out); // A15=0 // 上述3 个操作控制A15 引脚输出高电平脉冲,从而复位U21(82C55A) CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x03], 0x90 ); // 10010000B // 上述操作设置8255 的控制字,PA 输入,PB/PC 输出 CH365ReadIoByte( & mIoBase -> mCh365IoPort[0x00], &mByte ); // 上述操作从8255 的PA 输入数据 CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x01], 0x8E ); // 上述操作向8255 的PB 输出数据8EH
我想用PA口向外写数据,应该如何控制?写方式字,控制字等 D2下拉作用是什么?
Aery 能留下你的QQ么,我好容易请教你?
1、PA输出(PB,PC都输出) CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x03], 0x80 ); // 10000000B --位4为0,A口输入 // 设置8255 的控制字,PA/PB/PC 输出 CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); // 向8255 的PA 输出数据80H 对82C55A的设置看您的需求,可以参照82C55A的说明。
2、一般情况下,在D2、D5、D6、D7 引脚上可选地连接下拉电阻,供应用程序识别板卡功能。 D3 下拉用中断,如果您不用中断,D2,D3都不用下拉。
我的板子上测得WR和RD全都是高电平,用DEBUG365进行读写时候也触发不了,或者是很多很多次读写以后才会出现一次正常,请问这是怎么回事啊?
我得上位机程序改为 CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); 之后,55的PA口还是全高电平。
1、您中断是怎么用的呢? 2、您用PA输出,输入是哪个? 控制字由您的应用决定。 3、您的82C55A工作在方式几? 4、您的CH365第59脚 INT_REQ 接到哪里的? 5、我们建议82C55A的/CS 是接地的。
1.我把中断取消了 2.PA作输出,D0-D1是输入 3.工作方式CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); 4.59脚没有用 5.CS是365控制的,我检测他一直是低电平
1、输入输出端口是PA/PB/PC,用PA/PB/PC来控制输入输出,而D0-D7是数据总线缓冲器。 2、CH365WriteIoByte( & mIoBase -> mCh365IoPort[0x00], 0x80 ); 表示向8255 的PA 输出数据80H, 而不是工作方式 3、建议您参考82C55A的说明书。