导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[weichen2643]求救~5045读全是ff...



No.96262
作者:weichen2643
邮件:weichen2643@126.com
ID:56814
登陆:1次
文章数:1篇
最后登陆IP:59.46.65.13
最后登陆:2006/8/14 17:14:59
注册:2006/7/13 14:34:32
财富:105
发帖时间:2006/8/1 16:53:51
发贴者IP:124.147.146.174
标题:weichen2643:求救~5045读全是ff...
摘要:No.96262求救~5045读全是ff... 调5045调了两天了,自己写的程序,网上拷的程序通通都读出来是ff,连读标志寄存器也是,也加了很多的延迟,电路就是面包板上搭建的,只接了个5045,实在是不知道什么地方出错了,求大家帮忙.

我写的程序如下,大家帮忙看看有什么问题吧.
#include   <REG52.H>  
#include   <INTRINS.H>  
#define uchar unsigned char
#define uint unsigned int
#define NOP _nop_();_nop_();_nop_();
#define STATUS_REG 0x00
#define MAX_POLL  99
//-----------x5045指令-----------------//
#define WREN 0x06 //写允许
#define WRDI 0x04 //写禁止
#define RDSR 0x05 //读状态寄存器
#define WRSR 0x01 //写状态寄存器
#define READ0 0x03 //读数据
#define WRITE0 0x02 //写数据
#define READ1 0x0B //读数据
#define WRITE1 0x0A //写数据
//-----------SPI通讯接口-----------------//
sbit SI=P1^5;
sbit SCK=P1^6;
sbit SO=P1^4;
sbit CS=P1^3;


void wren_cmd();
void wrdi_cmd();
void wrsr_cmd();
uchar rdsr_cmd();
uchar byte_read(uchar add,bit block);
void byte_write(uchar add,uchar bytedata,bit block);
void rst_wdog();
void wip_poll();
void outbyt(uchar bytedata);
uchar inbyt();

//**********************WREN************************
void wren_cmd()
{
    SCK=0;
    CS=0;
    outbyt(WREN);
    SCK=0;
    CS=1;
}

//**********************WRDI************************
void wrdi_cmd()
{
    SCK=0;
    CS=0;
    outbyt(WRDI);
    SCK=0;
    CS=1;
}

//**********************WRSR************************
void wrsr_cmd()
{
    SCK=0;
    CS=0;
    outbyt(WRSR);
    _nop_();_nop_();_nop_();
    outbyt(STATUS_REG);
    _nop_();_nop_();_nop_();
    SCK=0;
    CS=1;
    wip_poll();
}

//**********************RDSR************************
uchar rdsr_cmd()
{
    uchar buff;
    SCK=0;
    CS=0;
    outbyt(RDSR);
    _nop_();_nop_();_nop_();
    buff=inbyt();
    _nop_();_nop_();_nop_();
    SCK=0;
    CS=1;
    return buff;    
}

//**********************byte_WR*********************
void byte_write(uchar add,uchar bytedata,bit block)
{
    SCK=0;
    CS=0;
    if(!block)
    {
        outbyt(WRITE0);
    }
    else
    {
       ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:29毫秒 最大:7276毫秒 查询6次