找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1392|回复: 0
收起左侧

求救各位,MBI5026用法 时序问题

[复制链接]
回帖奖励 25 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次(中奖概率 90%)
ID:887070 发表于 2021-5-2 10:55 | 显示全部楼层 |阅读模式
发送的数据存在buf[]数组里面,但是就是会全部输出低电平,不是buf里面的数据。
采用普通I/O口模拟SPI通信,是时序问题吗?主要是芯片手册里面没有参考程序  就很难写

void mbi_send_buf1(uint16_t *buf,unsigned char byte)
{
        unsigned char i;
        SDI_L;
        LACH_L;
        DCLK_L
        OE_H;
        //移入移位寄存器        //byte片数
        for (i=0;i<(byte*16);i++)
        {
                DCLK_L;
                //delay_us(5);
                //0x80:1000 0000 取出高字节数 后续补零 一位一位向左移动
                if((*(buf+(i/16)) << (i%16))&0x8000)
                {
                        SDI_H;//DS1_HIGH;
                }
                else
                {
                        SDI_L;//DS1_LOW;      
                }
                DCLK_H;
                //delay_us(5);
        }
        //存入锁存器中
        LACH_H;
        //delay_us(5);
        LACH_L;
        //delay_us(5);
        OE_L;
        //delay_us(5);
        //OE_H;
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表