登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

简单的并口测试程序,收不到数据,请大家帮忙看看是何原因?

作者:IFine 栏目:单片机
简单的并口测试程序,收不到数据,请大家帮忙看看是何原因?
写了个简单的并口测试程序(编译通过),用并口监视软件查看收不到数据,不知何故, 请高手分析一下原因,谢谢!程序和电路图如下:
/******************************************************************
  项目:         并口测试
  微控制器:     ATMEGA8515L-8PI @4MHZ
  编译器:        WinAVR20050214
******************************************************************/
#include <avr/io.h>

//常量或变量定义
#define                 true         0xFF
#define      false         0x00

#define      HostAck            PIND3      // PD3, input,  Read PULSE
#define      PeriphRequest      PD2        // PD2, OUTPUT, Data valid

#define    sbi(PORT,bit)          (PORT |=  (1<<bit))
#define    cbi(PORT,bit)          (PORT &= ~(1<<bit))
#define    chkPORT(PORT,bit)                 (PORT & (1<<bit))

void Check_ReadPulse(void)
{
   DDRA = 0xFF;                     // 改变PORTA为输出
   while (!chkPORT(PIND,HostAck)){};    
   while (chkPORT(PIND,HostAck)){};
   DDRA = 0x00;
}

//器件初始化
void init_devices(void)
{
    cli();                                 //全局中断禁止
   // 端口初始化
    PORTA = 0xFF;
    DDRA  = 0x00;
    PORTD = 0xFF;
    DDRD  = 0x04;  
}

void main(void)
{  
    init_devices();
         
    while (true)
    { //发送数据3进行测试
            cbi(PORTD,PeriphRequest);
            PORTA = 0x03;         
     Check_ReadPulse();    
    }
}


* - 本贴最后修改时间:2006-4-25 15:52:24 修改者:IFine

2楼: >>参与讨论
IFine
顶起来,帖子快沉了!
 
3楼: >>参与讨论
tuwen
电脑并口(打印口)只能输出,不能读入的。
电脑并口读入的只是自己输出的数据(相当于核对),不能读入外部的数据。


4楼: >>参与讨论
winsu
可以读入
用状态口读,一次能读入4位。
用EEP模式或其他高级模式,那么D0~D7是双向。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
对IAP,马潮老师程序中的一个问题。
紧急求助 MEGA162
JTAG允许熔丝禁止后,还可恢复吗?
我的25664的液晶工作不正常
请问各位大虾,AVR的C程序是用什么软件编写的?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号